Uživatel:Zitkojos

Z HPM wiki
Přejít na: navigace, hledání

NVIDIA TEGRA 3

Tegra 3 (nebo také Kal-El) je vývojový krok kupředu v rodině NVIDIA TEGRA, jedná se v principu jen o zvýšení počtu grafických a procesorových jader, u kterých se jejich architektura nikterak dramaticky nemění a proto se logicky musí zvětšit samotná plocha tohoto nového čipu a to cca o 2/3 původní plochy. Nové technologie a struktura procesoru Tegra 3 by měly příznivě ovlivnit spotřebu a výkonnost daného procesoru. Tegra 3 je určena především pro mobilní zařízení (mobilní telefony, tablety a jiné), a proto je konstrukčně navržena tak, aby docházelo k rychlejšímu zpracování, a možnosti výpočtů náročnějších operací s multimediálními signály.

Použité pojmy:

Architektura - Pojem popisující základní blokové rozložení elektronického předmětu(zde CPU).
CPU          - Central processing unit - Základní součást počítače, která vykonává strojový kód spuštěného počítačového programu.
GPU          - Graphic processing unit - obdoba klasického CPU, avšak upraveného pro zpracování obrazového signálu.
FPS          - Frame per second - Zpravidla označení pro počet snímku za sekundu daného videa.
MPE          - Media processing engine
NetBook      - Notebook navržený, především pro práci s internetem.
Nová generace čipů pro mobilní zařízení (tablety a Smartphone)


Obsah

Základní popis

Spouštění jednotlivých jader

Není to tak dávno, co nVidia představila chipset nVidia Tegra 2, který se svými výsledky velmi překvapil. Nyní však byl představen nový chipset Nvidia Tegra 3, který by dle výrobce měl obsahovat dvojnásobný počet výpočetních jader v CPU a 12 jader v jednotce GPU a zároveň by jeho spotřeba měla oproti Tegra 2 klesnout a to velmi rapidně. Otázkou je, jak bylo dosaženo takto úsporného a zároveň výkonného chipsetu. Architektůra Nvidia Tegra 3 obsahuje 4 plnohodnotná CPU jádra a jedno jádro tzv "Companion core", česky řečeno doprovodné jádro. Toto jádro pracuje na frekvenci 500MHz a nedosahuje tak velkého výkonu jako 4 plnohodnotná jádra. Toto doprovodné jádro bylo do architektůry zařazeno z jednoho prostého důvodu, aby v případě, když váš multimediální přístroj je ve stavu,že nepracuje (režim spánku,žádné spuštěné aplikace, aj.), tak se práce přepne na toto slabší jádro, které obsahuje daleko méně tranzistorů a tudíž je jeho spotřeba daleko menší, než kdyby byla aktivní plnohodnotná jádra.





Technické údaje

Počet hlavních CPU jader - 4(ARM Cortex A9 - 1400MHz)
Počet Comparion jader    - 1(ARM Cortex A9 -  500MHz)
Počet grafických jader   - 12

Video  :     Blu-Ray Quality Video - 1080p /40Mbps
Audio  :     HD Audio, 7.1 channel surround
Imaging:     ISP (image singnal Processor)
Power  :     Variable Symmetric multiprocessing (vSMP)
Memory :     DDR3L - 1500, LPDDR2 - 1066
Storage:     sd3.0, SATA-II

Technické údaje

Jak už jsem v předešlých odstavcích zmínil, architektura samotných CPU a GPU jader se nikterak nezměnila, procesorový blok tvoří čtveřice procesorů ARM Cortex A9, vyrobených 40nm procesem. Jádra zůstávají v základu stejná jako u Tegry 2 (32kb instrukční a 32kb datová L1 cache na každé), pouze každé nové integruje podporu MPE. V kombinaci s vylepšeným video-procesorem to znamená podporu přehrávání HD videa o rozlišení 1080p až do datového toku 40 Mbps. Enkodér by v reálném čase měl stíhat framerate až 30 FPS.

Hlavní změna nastala v vzájemném propojení a samotném počtu jader (CPU 4+1, GPU 12). Celkově vzato by největší podíl na úspoře energie mělo mít doprovodné jádro a logika, přepínající chod jednotlivých jader dle požadovaného výkonu daného přístroje.

Architektura doprovodného jádra:

Toto pomocné jádro je architektonicky identické s ostatními, ale na rozdíl od nich je postaveno (jako zbytek čipu) na low-power tranzistorech. Ty omezují jeho spotřebu a samozřejmě i dosažitelné frekvence - v tomto případě na 500 MHz. Primárně je aktivní právě úsporné jádro a až když dojde na zátěž, která jde mimo jeho možnosti, předá úkol na cluster hlavních CPU jader.

Architektura hlavního jádra ARM Cortex-A9:


ARM Cortex-A9 Configuration

Rodina procesorů Cortex A9 má poměrně velikou škálu možnosti konfigurace daného procesoru. Mezi možnosti, jak si si přesně nadefinovat daný A9 procesor patří: Počet jader (1 - 4), velikost instrukční cache (16kB, 32kB nebo 64kB), velikost datový cache (16kB, 32kB nebo 64kB), zda bude obsahovat MPE with NEON technology nebo tzv. Power off and dormant mode wrapper, který se stará o režii příkonu daného processoru a mnohé jiné další, které jsou zobrazeny v pravém obrázku nad tímto odstavcem.



Tegra 2 vs Tegra 3

Hlavním rozdílem mezi chipsetem Tegra 2 a Tegra 3 je právě již zmiňovaný počet jader a z toho vyplývající architektůra chipsetu, jako celku. Jednotlivá jádra tvoří ARM Cortex A9, která byla použita v Tegra 2. Zdvojnásobením počtu jader ze 2 na 4 vzroste výsledný výpočetní výkon cca dvojnásobně, což je poměrně logické. Výhodou velkého počtu jader, je možnost rozčlenění strojového kódu na bloky, které se mohou paralelně zpracovávat v jednom procesoru zároveň. Z toho vyplývá, že výsledný výkon by měl být o něco vetší, než jen samotný dvojnásobek. V následujících obrázcích ukážu srovnání chipsetu Tegra 2 a Tegra 3 z hlediska výpočetního výkonu a spotřeby energie:


Battery Benchmarks


Z grafů je dobře vidět, že největší energetické úspory nastává při přehrávání videa. Tato velmi znatelná úspora energie je způsobena tím, že dané úsporné (doprovodné) jádro dokáže zpracovávat video v HD rozlišení a proto při běhu samotného videa, může být aktivní pouze toto jádro. Podíváme-li se na graf Benchmarků, je vidět výrazný výkonový rozdíl mezi Dual Core A5, Dual core OMAP 4430, Dual core QCOM 8660, Dual core Tegra 2 a konečně Quad core Kal-El(Tegra 3).


Architektura nVidia Tegra 2 vs Tegra 3:

Koukneme-li se na obrázky níže, vidíme hrubé znázornění porovnání architektury chipu Tegra 2 a Tegra 3. Rozdíl mezi původními jádry ARM Cortex-A9 je právě v přidání jednotky MPE, která zdokonaluje podporu zpracování multimediálních signálů.

Tegra 2 arch Tegra 3 arch

Architektura nVidia Tegra 3, jak jsme si vysvětlili má menší spotřebu, než starší verze v rodině Tegra chipsetů pro mobilní zařízení. Hlavní důvod snížení spotřeby, je přidáním jednoho nízkovýkonového jádra, pro zpracování vedlejších úloh. Otázkou však zůstává, zda mobilní zařízení potřebují čtyř-jádrové procesory a zda by nestačilo přenést nynější architekturu Tegra 2 na řešení, snižující spotřebu daného chipsetu. Tím by výpočetní výkon klesl, ale pouze na hodnotu, která by byla pořád více než vynikající a spotřeba daného chipsetu by se snížila, toto řešení by bylo vhodné především pro mobilní telefony, kde čtyř-jádrové procesory, jsou více než předimenzované.


Výhody a nevýhody

Tegra 2.jpg

Tegra 2:

Musíme se nejdříve rozhodnout, pro jaký typ zařízení budeme chipset využívat. V případě mobilních telefonů je Tegra 2 velice vhodným řešením, avšak jeho vyšší spotřeba ho trochu omezuje. Naopak při volbě pro tablety, je problém spotřeby trochu menší. Naopak u tabletů je vhodné, aby výkon daného chipsetu byl vyšší, než u mobilních telefonů a proto je bude lepší volbou Tegra 3.

Tegra 33.jpg

Tegra 3:

Tegra 3, je vynikající volbou pro tablety a tzv. netbooky. Dostatečný výkon a relativně nízká spotřeba, budou znamenat vyšší výpočetní výkon po delší dobu. Pro mobilní telefony si myslím, že by byla lepší verze Tegra 2 s úpravou (přidání doprovodného jádra). Tato volba, by znamenala dobrý výkon a dlouhou dobu chodu, díky úspoře energie.



Zhodnocení

Nvidia Tegra 3 je velice krásně zrealizovanou myšlenkou, řízenou pořekadlem - v jednoduchosti je krása a zde i efektivita. Čtyři jádra na dynamické frekvenci až 1,4 GHz, dvanáctijádrová grafická podpora, akcelerace 1080p videa, rychlejší paměti (DDR3L až 1500 MHz, LP-DDR2 až 1066 MHz), podpora SDXC karet, SATA 3 Gb/s nebo osmikanálový zvuk. Celkově vzato, je Tegra 3 velice dobrý nástupcem Tegra 2 pro tablety a netbooky. Avšak pro mobilní telefony si myslím, že volba Tegra 3 není prozatím vhodnou volbou.


Konečné srovanání Tegra 2 vs Tegra 3:

Processor, memory, GPU:

proc_mem_GPU

Video:

video

Audio:

Baudio

Imaging, display:

imaging_display



Zdroje

Internet - web:


České recenze chipsetu nVidia Tegra 3:

http://www.diit.cz/clanek/nvidia-tegra-3-alias-kal-el-je-oficialne-na-svete/39050/
http://www.zive.cz/clanky/nvidia-tegra-3-kal-el-na-co-ma-pate-jadro/sc-3-a-158845/default.aspx
http://extranotebook.cnews.cz/nvidia-tegra-3-nejlepsi-pro-tablet-i-telefon
http://mobilenet.cz/clanky/nvidia-tegra-3-brutalni-vykon-pro-telefony-a-tablety-7975


Anglické recenze chipsetu nVidia Tegra 3:

http://www.cnet.com.au/nvidias-tegra-3-cpu-increases-performance-while-saving-power-339326005.htm 
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0407g/DDI0407G_cortex_a9_mpcore_r3p0_trm.pdf


Internet - pdf:

Pdf manual ARM Cortex A9    :    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407g/index.html
Pdf zprávy o nVidia Tegra 3 :    http://www.nvidia.com/object/IO_90715.html





























KNOPPPIX

Preklad C:


gcc nazev souboru

gcc -s nacev souboru

cat prog.s / vypis asm kodu


Prikazy:

xwininfo - zobrazi informace o okne do ktereho kliknu

sudo apt-get update; sudo apt-get -y install libx11-dev - pri zadani do terminalu nainstaluje balicek libx11-dev

sudo apt-get update; sudo apt-get -y install emacs

xwd|xwud - po zadani prikazu kliknu na okno a to se mi "zkopiruje"

xwd >soubor - zkopiruje mi to na co kliknu a vytvori z toho soubor

xwud<soubor - vyvolani toho co jsem ulozil

file soubor - vyhodi mi informace o tom vytvorenem souboru soubor





SUN GRID ENGINE: prevzato z: http://www.fit.vutbr.cz/CVT/linux/sge.php.cs


Zde najdete stručný návod pro práci se SGE pod Linuxem. Pokud vám něco chybí nebo není jasné, ozvěte se mailem.

Co je to ten SGE? SGE - Sun Grid Engine je systém pro správu dávkového zpracování úloh. Hlavní myšlenka těchto systémů spočívá v tom, že vámi požadovaný výpočet zapíšete do skriptu a ten předáte do SGE. Ten se na základě aktuálního stavu rozhodne kdy a na kterém z dostupných uzlů vaši úlohu spustí. Na každém výpočetním uzlu je definována fronta

s kapacitou 1-4 úlohy podle počtu procesorů. Do těchto front jsou zasílány k vykonání jednotlivé úlohy z centrálního plánovače. Aktuálně jsou v systému SGE v rámci CVT 

následující počítače: ulrika (2x Opteron 254 2.8GHz), svatava (2x Xeon 3.06GHz), 12x blade 2x Xeon 2.8GHz, 14x blade 2x Xeon 3.2GHz, 17x blade 2x dualcore Opteron 275 (2.2GHz), 11x blade 2x quadcore Xeon 5345, počítače na učebnách N10x a O10x a O20x - mimo výuku a pokud jsou puštěny a dále některé počítače zaměstnanců/doktorandů (zde je vetšinou částečně omezen přístup).

Sun Grid Engine - oficiální dokumentace SGE-UserGuide.pdf Sun Grid Engine - wiki Wiki sekce o SGE na merlinovi Základní příkazy Ke všem příkazům jsou k dispozici podrobné manuálové stránky. Základní použití je:

qstat - informace o využití klastru

-f kompletní výpis i pro nevyužité uzly

-U user informace pouze o úlohách pro uživatele user

-j JID informace pouze o konkrétní úloze (např. proč se nesubmituje) qhost - informace o vytížení jednotlivých front

-j - detailnější informace o čekajících/běžících úlohách

-q - detailnější informace o jednotlivých frontách qsub - zadání nové úlohy ke spuštěné

skript - shell skript obsahující úlohu. Pokud chybí čte standardní vstup -v VAR - exportuje do skriptu proměnnou VAR z aktuálního shellu

-j y/n - spojí standadní výstup a std. chybový výstup

-o - přesměruj standardní výstup do souboru

-e - přesměruj standardní chyb. výstup do souboru

-N name - jméno úlohy jiné než jméno skriptu (pro výpisy qstat,qhost)

-S shell - použij jiný než implicitní shell (/bin/bash) pro spuštění úlohy (např pro perl apod)

-q queue[,queue] - použij pouze [některou] z uvedených front (např. jen blady je -q all.q@@blade)

-p PRI - nastavení priority (-1023 malá až 1024 velká) pro plánovač, více na wiki (neprojeví se při běhu úlohy, tam je vždy nice 15)

-js NUM - nastavení rozdelování ticketů, více na wiki (neprojeví se při běhu úlohy, tam je vždy nice 15) qdel - smazání úlohy ve frontě

NUM - smazat úlohu číslo NUM - zjistit se dá např. pomocí qstat nebo při zadávání přes qsub -f - force - smaž úlohu i když počítač na němž je spuštěna nereaguje - použijte v případě, že vám někdo patřičný výpočetní uzel vypne. qalter,qlogin - další užitečné příkazy, změní nastavení již zaslané úlohy, interaktivní přihlášení v rámci SGE. detaily jsou v man. stránkách


Jednoduchá úloha Jednoduchá úloha může vypadat například takto:

kasparek@pckasparek:~$ cat myjob.sh

  1. !/bin/bash
  2. $ -S /bin/bash
  3. $ -N Name_of_job
  4. $ -o /homes/kazi/kasparek/sge.out
  5. $ -e /homes/kazi/kasparek/sge.err
  6. $ -q all.q@svatava.q,all.q@@blade,all.q@pcn

date sleep 10 date Ve skriptu je možno pomocí konstrukce #$ definovat všechny parametry tak jako pro qsub. Zadání úlohy do systému se provede pomocí (parametry by bylo možno definovat ve skriptu všechny, rozdělěno je to na ukázání obou možností): qsub -v SOME_VAR -p -10 myjob.sh Parametrizovaná úloha Pokud použijeme (jako parametr qsub nebo ve skriptu) -t lower-upper:interval, je možno ve vlastním skriptu použít proměnnou $SGE_TASK_ID. Takováto úloha je potom spuštěna jednou pro každou možnou hodnotu $SGE_TASK_ID a tato hodnota je dosazena do této proměnné. V případě že je to možné doporučuji vždy rozbít úlohu na měnší části a pustit ji touto metodou, umožní to využít všechny dostupné výpočetní prostředky a výsledek bude rychleji hotov.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje