
    

    <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://ocw.cs.pub.ro/courses/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://ocw.cs.pub.ro/courses/feed.php">
        <title>CS Open CourseWare asc:cellcookbook</title>
        <description></description>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <image rdf:resource="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-05-02T05:26:27+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/aboutcell?rev=1580819034&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/branch?rev=1580819577&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/debugging?rev=1580818418&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/dma101?rev=1580819320&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/dmalists?rev=1580820318&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/gdb?rev=1580818738&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/kickstart?rev=1580819232&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/mailboxhandson?rev=1580818878&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/ncittutorial?rev=1580818615&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/profiler?rev=1580819884&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/refmanuals?rev=1580819338&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/simulator?rev=1580819484&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/smc?rev=1580820248&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/asc/cellcookbook/tutorial-eclipse?rev=1580820183&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico">
        <title>CS Open CourseWare</title>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <url>http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/aboutcell?rev=1580819034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:23:54+03:00</dc:date>
        <title>Arhitectura Cell Broadband Engine</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/aboutcell?rev=1580819034&amp;do=diff</link>
        <description>Descrierea arhitecturii Cell Broadband Engine

	*  Element Interconnect Bus (EIB). Procesorul PPE si SPEurile comunica in mod coerent intre ele, cu spatiul principal de stocare (main storage) si cu elementele I/O prin intermediul magistralei EIB. Magistrala EIB are o structura bazata pe 4 inele (doua in sens orar si doua in sens anti-orar) pentru transferul datelor si o structura arborescenta pentru comenzi. Latimea de banda interna a magistralei EIB este de 96 bytes pe ciclu si suporta mai mult…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/branch?rev=1580819577&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:32:57+03:00</dc:date>
        <title>Branch prediction</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/branch?rev=1580819577&amp;do=diff</link>
        <description>Introducere

Rolul unui predictor de branch-uri in cadrul procesoarelor este important pentru asigurarea performantei aplicatiilor. Un salt conditionat care este incorect prezis conduce la invalidarea instructiunilor prezente in pipeline, ceea ce poate reduce considerabil performanta.  De asemenea, un salt spre o adresa pentru care datele nu sunt prezente in cache are un impact negativ asupra performantei. Pentru controlul branch-urilor conditionale sau neconditionale pe Cell/BE, programatorul t…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/debugging?rev=1580818418&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:13:38+03:00</dc:date>
        <title>Debugging</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/debugging?rev=1580818418&amp;do=diff</link>
        <description>= Debugging &amp; Profiling =

Debugging

Compilarea pentru debugging

Compilarea pentru debugging se face utilizand flagurile ”-g -G”. De asemenea este recomandat sa nu folositi flag-uri de optimizare cand compilati pentru debugging. Exemplu: 


$ nvcc -g -G foo.cu -o foo</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/dma101?rev=1580819320&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:28:40+03:00</dc:date>
        <title>DMA101</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/dma101?rev=1580819320&amp;do=diff</link>
        <description>Transfer DMA initiat de SPU

Urmand acest tutorial veti invata sa folositi comenzi initiate de SPE pentru a transfera date cu spatiul principal de stocare si anume veti vedea cum:

	*  SPE rezerva si elibereaza id-uri tag cu ajutorul tag manager
	*  programul SPU foloseste comanda de tip get pentru a aduce date din memoria principala in memoria locala
	*  programul SPU foloseste comanda de tip put pentru a duce date din memoria locala in memoria principala
	*  programul SPU asteapta finalizarea …</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/dmalists?rev=1580820318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:45:18+03:00</dc:date>
        <title>Mecanisme avansate de folosire a transferurilor DMA. Liste DMA</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/dmalists?rev=1580820318&amp;do=diff</link>
        <description>In prima parte a laboratorului am studiat modalitatea de baza de folosire a DMA pentru transfer de date intre memoria locala a SPU si spatiul principal de stocare. Din cauza ca memoria locala este limitata, multe aplicatii vor avea nevoie sa transfere, pe rand, mai multe secvente de date catre SPE, spre procesare.
Pentru acest scenariu se pot folosi mai multe metode: liste DMA sau double-buffering (studiat in laboratorul urmator).</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/gdb?rev=1580818738&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:18:58+03:00</dc:date>
        <title>Cell GDB</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/gdb?rev=1580818738&amp;do=diff</link>
        <description>Toolchain-ul GNU pentru arhitectura Cell BE conține, pe lângă o versiune a compilatorului GCC specifică acestei arhitecuri, și o versiune a GDB care poate fi folosită pentru a depana programe scrise pentru Cell BE. Toate funcțiile GDB sunt disponibile și pe arhitectura Cell BE.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/kickstart?rev=1580819232&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:27:12+03:00</dc:date>
        <title>Cell Cookbooks - Kickstart Cell</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/kickstart?rev=1580819232&amp;do=diff</link>
        <description>Structurare programe

Pot fi mai multe tipuri de programe: programe PPE, programe SPE si programe pentru Cell Broadband Engine (programe PPE care au programme SPE embedded).

Programele pentru PPE si SPE folosesc compilatoare diferite. Compilatorul, flagurile compilatorului si librariile trebuie folosite in functie de tipul de procesor si program. De obicei, un PPE seteaza, porneste si opreste SPEuri. Un aspect important ce trebuie luat in consideratie este comunicarea dintre PPEuri si SPEuri.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/mailboxhandson?rev=1580818878&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:21:18+03:00</dc:date>
        <title>Mailbox Hands-On</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/mailboxhandson?rev=1580818878&amp;do=diff</link>
        <description>Comunicarea prin mailbox este cea mai simpla metoda de a trimite date de dimensiuni mici intre SPU si PPU sau intre SPU-uri. Aceasta tehnica este prezentata mai pe larg in  laboratorul 7.



Exista doua biblioteci principale folosite pentru acest lucru: pentru cod PPU - libspe2.h (descrisa in [ SPE Runtime Management Library]), iar pentru cod SPU - spu_mfcio.h (descrisa in [ C/C++ Language Extensions for Cell BE Architecture]).</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/ncittutorial?rev=1580818615&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:16:55+03:00</dc:date>
        <title>Rulare programe Cell in Cluster</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/ncittutorial?rev=1580818615&amp;do=diff</link>
        <description>Cell are o arhitectura PowerPC, iar din cauza acestui fapt nu puteti compila programele voastre direct pe “fep.grid.pub.ro”. Pentru a va usura munca s-au creat 2 cozi asociate masinilor CELL:

	*  ibm-cell-int.q - pentru COMPILARE (oricate lume poate intra)
	*  ibm-cell-qs22.q - pentru RULARE (numarul este limitat la numarul de procesoare disponibil, astfel sa se asigure ca rezultatele obtinute sunt reale)</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/profiler?rev=1580819884&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:38:04+03:00</dc:date>
        <title>Profiling</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/profiler?rev=1580819884&amp;do=diff</link>
        <description>Introducere

Analiza performantelor (profiling) reprezinta analiza comportamentului unui program pentru a determina partile din cadrul acestuia ce pot fi optimizate. Analiza dinamica se realizeaza in timpul rularii programului si poate fi implementata cu ajutorul interuperilor hardware, al contorilor hardware, al hookurilor din cadrul sistemelor de operare, etc. Analiza statica este realizata fara a rula programul si se bazeaza pe analiza codului sursa, a codului obiect sau a unei versiuni inter…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/refmanuals?rev=1580819338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:28:58+03:00</dc:date>
        <title>Cell Reference Manuals</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/refmanuals?rev=1580819338&amp;do=diff</link>
        <description>*  [ SPE Runtime Management Library]
	*  [ C/C++ Language Extensions for Cell BE Architecture]</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/simulator?rev=1580819484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:31:24+03:00</dc:date>
        <title>Folosirea simulatorului de Cell</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/simulator?rev=1580819484&amp;do=diff</link>
        <description>Instalarea imaginii de FC7 cu Cell SDK 3.0

Primul pas consta in descarcarea imaginii de VMware cu Fedora Core 7, continand SDK de Cell versiunea 3.0, de pe fep.grid.pub.ro in patru arhive ce trebuiesc concatenata in locatia /tmp/CellVmareImage-Split</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/smc?rev=1580820248&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:44:08+03:00</dc:date>
        <title>Software Managed Cache</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/smc?rev=1580820248&amp;do=diff</link>
        <description>Concepte de baza despre cache

Cache-ul este o zona de stocare temporara care permite un acces rapid la date frecvent/recent accesate. Componentele si caracteristicile unui cache sunt:

	*  din motive de performanta, cache-ul este impartit in blocuri de dimensiune fixa denumite 'linii de cache'
	*  fiecare linie de cache poate contine 'o copie a unor date din memoria principala'
	*  fiecare unitate de date din memoria principala poate fi pusa doar intr-un 'set redus si bine determinat de linii d…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/asc/cellcookbook/tutorial-eclipse?rev=1580820183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-04T14:43:03+03:00</dc:date>
        <title>Tutorial Cell - Eclipse</title>
        <link>http://ocw.cs.pub.ro/courses/asc/cellcookbook/tutorial-eclipse?rev=1580820183&amp;do=diff</link>
        <description>Observatii: 

	*  Pentru a căuta fișiere sau directoare în Linux, în directorul rădăcină, se poate folosi comanda:


find / -name eclipse


	*  Cerințe minime recomandate de sistem pentru a lucra în Cell - IDE:
		*  Hardware: sistem x86 cu procesor 2GHz Pentium® 4 (sau echivalent), minimum 1 GB RAM, minimum 9 GB spațiu liber pe HDD. În cazul folosirii Full System Simulator, capacitatea minima a  memoriei RAM trebuie sa fie dublul memoriei simulate. Pentru a simula un system cu 512MB de RAM, pe s…</description>
    </item>
</rdf:RDF>
