kompilátory Intel. Prečo boli potrebné nové kompilátory?
Kompilátory Intel C++ a Fortran a knižnica MKL
Spolu so štandardnými kompilátormi GNU pre Linux sú na klastroch výpočtového komplexu NIVC nainštalované kompilátory Intel C++ a Fortran. V súčasnosti (začiatok roku 2006) sú na všetkých klastroch nainštalované kompilátory verzie 9.1. Táto stránka je venovaná popisu najdôležitejších možností a nastavení týchto kompilátorov, ako aj ich hlavných rozdielov od kompilátorov GNU. Stránka je zameraná hlavne na používateľov klastrov MSU Research Computing Center, ale môže byť užitočná aj pre ostatných rusky hovoriacich používateľov. Problémy súvisiace s kompiláciou pre platformu IA-64 tu nie sú riešené.
Knižnica Intel je tiež nainštalovaná na všetkých klastroch Knižnica jadrovej matematiky(MKL) verzia 8.0.2. Knižnica sa nachádza v adresári /usr/mkl. Upozorňujeme, že podadresáre 32, 64 a em64t sú dostupné v adresári lib. Na klastri Ant je potrebné použiť knižnice z podadresára em64t a na ostatných klastroch z podadresára 32. Všetku potrebnú dokumentáciu a príklady môžete získať z adresára /usr/mkl/doc.
Prečo boli potrebné nové kompilátory?
Potreba nových kompilátorov vznikla hlavne kvôli a) podpore programovania vo Fortran 90 a tiež b) výkonnejšej optimalizácii programov Fortran, než poskytuje kompilátor g77, ktorý využíva preklad do C a následne kompiláciu pomocou gcc.
Tieto požiadavky spĺňajú aj kompilátory PGI (Portland Group), ktoré však developerská spoločnosť odmietla dodať do Ruska.
Ako použiť?
Kompilátory Intel sa vyvolávajú pomocou príkazov icc(C alebo C++), icpc(C++) a ifort(Fortran 77/90). Príkazy mpicc, mpiCC a mpif77 na kompiláciu a zostavenie programov MPI sú tiež nakonfigurované na používanie kompilátorov Intel.
Je tiež možné použiť GNU kompilátory pomocou príkazov mpigcc, mpig++ a mpig77 (Fortran 90 nie je podporovaný).
Vstupné súbory
V predvolenom nastavení sú súbory s príponou .cpp A .cxx sa považujú za zdrojové texty v jazyku C++, súbory s príponou .c- Zdrojový kód C a kompilátor icpc tiež kompiluje súbory .c ako zdrojový kód C++.
Súbory s príponami .f, .ftn A .pre sú rozpoznávané ako zdrojové texty v jazyku Fotran s pevnou formou notácie a súbory .fpp A .F dodatočne prešiel cez preprocesor jazyka Fortran. Súbory s príponou .f90 sa považujú za zdrojové texty Fortran 90/95 s voľnou notáciou. Pomocou možností môžete explicitne určiť pevnú alebo voľnú formu notácie pre programy Fortran -FI A -FR resp.
Súbory s príponou .s uznávaný ako kód assembleru pre IA-32.
Funkcie kompilátora Intel
Tu uvádzame charakteristiky kompilátorov Intel, ako ich uvádza vývojár v používateľskej príručke s niektorými našimi komentármi.
- Výrazná optimalizácia
Zrejme to znamená optimalizáciu kódu na vysokej úrovni, t.j. v prvom rade rôzne slučkové transformácie, ktoré takmer všetky kompilátory robia s väčším či menším úspechom - Optimalizácia s pohyblivou rádovou čiarkou
Zrejme to znamená v prvom rade maximálne využitie príkazov implementovaných na hardvérovej úrovni - Interprocedurálne optimalizácie
tie. globálna optimalizácia celého programu na rozdiel od bežnej optimalizácie, ktorá ovplyvňuje iba kód konkrétnych funkcií - Optimalizácia založená na profile
tie. schopnosť spustiť program v testovacom režime, zbierať údaje o čase, ktorý je potrebný na prechod určitých fragmentov kódu v rámci často používaných funkcií, a potom použiť tieto údaje na optimalizáciu - Podpora inštrukčnej sady SSE v procesoroch Pentium III
poznámka: pre výpočtové úlohy sú zaujímavejšie príkazy SSE2, t.j. vektorové príkazy nad 64-bitovými reálnymi číslami, ale sú podporované iba na procesoroch Pentium 4, ktoré zatiaľ nemáme k dispozícii - Automatická vektorizácia
tie. opäť pomocou príkazov SSE a SSE2, ktoré automaticky vkladá kompilátor - Podpora OpenMP pre programovanie na SMP systémoch
poznámka: na klastri sa odporúča primárne používať rozhranie MPI; rozšírené používanie OpenMP na klastri sa neočakáva a takéto experimenty ešte neboli vykonané; ale asi má zmysel používať knižnice (BLAS a pod.), ktoré sú paralelizované pre zdieľanú pamäť. - Predbežné načítanie údajov
tie. Zrejme použitie príkazov preload z pamäte do dátovej vyrovnávacej pamäte, čo bude po určitom čase potrebné - "Dispečingový" kód pre rôzne procesory
tie. schopnosť generovať kód pre rôzne procesory v jednom spustiteľnom súbore, čo vám umožňuje využívať výhody najnovšie procesory dosiahnuť na nich najvyšší výkon pri zachovaní binárnej kompatibility programov so staršími procesormi; Na našom klastri to zatiaľ nie je relevantné, pretože používajú sa iba procesory Pentium III a programy kompilované v klastri sa nemajú prenášať a spúšťať na iných počítačoch
Základné možnosti kompilátora
Najzaujímavejšie sú samozrejme možnosti optimalizácie kódu. Väčšina možností je spoločná pre kompilátory C++ a Fortran. Viac Detailný popis možnosti v anglických používateľských príručkách.
Úrovne optimalizácie | |
---|---|
Možnosť | Popis |
-O0 | Zakáže optimalizáciu |
-O1 alebo -O2 | Základná optimalizácia pre rýchlosť. Inline vkladanie funkcií knižnice je vypnuté. Pre kompilátor C++ poskytujú tieto možnosti rovnakú optimalizáciu; pre kompilátor Fortran je vhodnejšia možnosť -O2, pretože zahŕňa aj propagáciu cyklu. |
-O3 | Výkonnejšie optimalizácie vrátane transformácií slučiek, predbežného načítania údajov a použitia OpenMP. Niektoré programy nemusia zaručovať lepší výkon v porovnaní s -O2. Má zmysel používať v spojení s možnosťami vektorizácie -xK A -xW. |
-rozvinúť[n] | Umožňuje odvíjanie slučky až n-krát. |
Optimalizácia pre konkrétny procesor | |
Možnosť | Popis |
-tpp6 | Optimalizácia pre procesory Penitum Pro, Pentium II a Pentium III |
-tpp7 | Optimalizácia pre procesory Penitum 4 (táto možnosť je predvolene povolená pre kompilátor IA-32) |
-xM | Generovanie kódu pomocou rozšírení MMX špecifických pre procesory Pentium MMX, Pentium II a novšie |
-xK | Generovanie kódu pomocou rozšírení SSE špecifických pre procesory Pentium III |
-xW | Generovanie kódu pomocou rozšírení SSE2 špecifických pre procesory Pentium 4 |
Interprocedurálna optimalizácia | |
-ip | V rámci jedného súboru je povolená interprocedurálna optimalizácia. Ak zadáte možnosť -ip_no_inlining, potom je vkladanie inline funkcií deaktivované. |
-ipo | Umožňuje interprocedurálnu optimalizáciu medzi rôznymi súbormi |
Optimalizácia pomocou profilov | |
-prof_gen | Vygeneruje sa „profilovací“ kód, ktorý bude použitý na profilovanie, t.j. zber údajov o frekvencii prejazdu určitými miestami v programe |
-prof_use | Optimalizácia sa vykonáva na základe údajov získaných počas fázy profilovania. Má zmysel používať ho spolu s možnosťou interprocedurálnej optimalizácie -ipo. |
Paralelizácia pre SMP systémy | |
- openmp | Umožňuje podporu pre štandard OpenMP 2.0 |
- paralelne | Automatická paralelizácia slučiek je povolená |
Výkon
Podľa výsledkov testov SPEC CPU2000 zverejnených na serveri ixbt.com boli kompilátory Intel verzie 6.0 takmer všeobecne lepšie v porovnaní s kompilátormi gcc verzie 2.95.3, 2.96 a 3.1 a PGI verzie 4.0.2. Tieto testy boli vykonané v roku 2002 na počítači s procesorom Pentium 4/1,7 GHz a RedHat Linux 7.3.
Podľa testov vykonaných spoločnosťou Polyhedron bol kompilátor Intel Fortran verzie 7.0 takmer univerzálne lepší ako ostatné kompilátory Fortran 77 pre Linux (Absoft, GNU, Lahey, NAG, NAS, PGI). Iba v niektorých testoch je kompilátor Intel mierne horší ako kompilátory Absoft, NAG a Lahey. Tieto testy boli vykonané na počítači s procesorom Pentium 4/1,8 GHz a Mandrake Linux 8.1.
Kompilátory Intel verzie 9.1 tiež prekonávajú kompilátory gcc a vykazujú výkon porovnateľný s Absoft, PathScale a PGI.
Budeme vďační tým používateľom a čitateľom, ktorí nám pošlú údaje o vplyve výberu kompilátora (GCC alebo Intel) a možnostiach optimalizácie na rýchlosť práce na ich reálne problémy.
Knižnice
Kompilátor jazyka C používa runtime knižnicu vyvinutú v rámci projektu GNU ( libc.a).
S kompilátorom Intel C++ sa dodávajú nasledujúce knižnice:
- libcprts.a- runtime jazyková knižnica C++ vyvinutá spoločnosťou Denkumware.
- libcxa.a- dodatočná runtime knižnica pre vývoj C++ od Intelu.
- libimf.a- knižnica matematických funkcií vyvinutá spoločnosťou Intel, ktorá obsahuje optimalizované a vysoko presné implementácie trigonometrických, hyperbolických, exponenciálnych, špeciálnych, komplexných a iných funkcií (podrobnejšie pozri zoznam funkcií).
- libirc.a- runtime podpora pre profilovanie (PGO) a odosielanie kódu v závislosti od procesora (pozri vyššie).
- libguide.a- Implementácia OpenMP.
Tento zoznam obsahuje statické knižnice, no pre väčšinu z nich existujú aj dynamické, t.j. možnosti pripojené počas spúšťania ( .takže).
S kompilátorom Fortran sú dodávané nasledujúce knižnice: libCEPCF90.a, libIEPCF90.a, libintríny.a, libF90.a, používa sa aj knižnica matematických funkcií libimf.a.
Vytvorenie spustiteľného súboru
Knižnice môžu byť pripojené staticky (počas zostavovania) alebo dynamicky (počas spúšťania programu). Dynamický prístup vám umožňuje zmenšiť veľkosť spustiteľného súboru a umožňuje vám zdieľať rovnakú kópiu knižnice v pamäti, ale na to musíte nainštalovať kompletnú sadu dynamických knižníc používaných na každom uzle, kde budú programy spustené. .
Ak ste teda nainštalovali kompilátor Intel na svoj počítač so systémom Linux a chcete spustiť skompilované spustiteľné súbory na iných počítačoch, musíte buď použiť statickú zostavu (čo je jednoduchšie) alebo skopírovať dynamické knižnice Intel na tieto počítače (zvyčajne z adresár ako /opt/intel /compiler70/ia32/lib) do jedného z adresárov uvedených v súbore /etc/ld.so.conf a tiež sa uistite, že na týchto počítačoch je nainštalovaná rovnaká sada dynamických knižníc GNU/Linux .
Štandardne sú všetky vývojové knižnice Intel (okrem libcxa.so) prepojené staticky a všetky linuxové systémové knižnice a knižnice GNU sú prepojené dynamicky. Pomocou možnosti -statický môžete prinútiť kolektor (editor odkazov), aby pripojil všetky knižnice staticky (čo zvýši objem spustiteľný súbor) a pomocou možnosti -i_dynamický Môžete dynamicky prepojiť všetky vývojové knižnice Intel.
Pri pripájaní ďalších knižníc pomocou možnosti zobrazenia -knižnica možno budete musieť použiť túto možnosť -Ladresár určiť cestu, kde sa nachádzajú knižnice.
Používanie možností -Bstatický A -Bdynamický môžete explicitne špecifikovať dynamické alebo statické pripojenie každej z knižníc špecifikovaných v príkazový riadok.
Pomocou možnosti -c zostavenie spustiteľného súboru je zakázané a vykoná sa iba kompilácia (generovanie objektového modulu).
Zdieľanie modulov vo Fortrane a C
Ak chcete zdieľať moduly napísané vo Fortrane a C, musíte sa dohodnúť na pomenovaní procedúr v objektových moduloch, odovzdávaní parametrov a prístupe ku globálnym premenným, ak nejaké existujú.
Kompilátor Intel Fortran štandardne konvertuje názvy procedúr na malé písmená a na koniec názvu pridá podčiarknutie. Kompilátor C nikdy nemení názvy funkcií. Ak teda chceme volať funkciu alebo procedúru FNNAME implementovanú v C z modulu Fortran, potom by sa v module C mala volať fnname_.
Kompilátor Fortran túto možnosť podporuje -nus [názov súboru], ktorá vám umožňuje zakázať pridávanie podčiarkovníkov do interných názvov procedúr. Ak je zadaný názov súboru, vykoná sa to len pre názvy procedúr uvedené v zadanom súbore.
Štandardne sa vo Fortrane parametre odovzdávajú odkazom a v C sa vždy odovzdávajú hodnotou. Preto pri volaní procedúry Fortran z modulu C musíme odovzdať ukazovatele na zodpovedajúce premenné obsahujúce hodnoty skutočných parametrov ako parametre. Pri písaní funkcie v C, ktorú bude potrebné volať z modulu Fortran, musíme opísať formálne parametre ako ukazovatele na zodpovedajúce typy.
V moduloch C je možné použiť COMMON bloky definované v moduloch Fortran (viac informácií nájdete v Užívateľskej príručke kompilátora Intel Fortran, kapitola Miešanie C a Fortran).
Zdieľanie kompilátorov Intel a GCC
Objektové moduly C vytvorené kompilátorom Intel C++ sú kompatibilné s modulmi vytvorenými kompilátorom GCC a knižnicou GNU C. Tieto moduly je teda možné používať spolu v jedinom programe zostavenom pomocou príkazov icc alebo gcc, ale na správne zahrnutie knižníc Intel sa odporúča použiť icc.
Kompilátor Intel podporuje množstvo neštandardných rozšírení jazyka C používaných projektom GNU a podporovaných kompilátorom GCC (ale nie všetky, ďalšie podrobnosti nájdete tu).
Užívateľská príručka nehovorí nič o kompatibilite objektových modulov v jazykoch C++ a Fortran, zjavne nie je podporovaná.
Podpora štandardov
Intel C++ Compiler 7.0 pre Linux podporuje jazykový štandard ANSI/ISO C (ISO/IEC 9899/1990). Je možné stanoviť prísnu kompatibilitu so štandardom ANSI C ( -ansi) alebo rozšírený dialekt ANSI C ( -Xa). Pri použití opcie -c99
V predchádzajúcom čísle magazínu sme rozoberali produkty z rodiny Intel VTune Performance Analyzer – nástroje na analýzu výkonu, ktoré sú zaslúžene obľúbené medzi vývojármi aplikácií a umožňujú detekciu v kóde. tímové aplikácie, ktoré zbytočne míňajú zdroje CPU, čo dáva vývojárom príležitosť identifikovať a eliminovať potenciál úzke miesta, spojené s podobnými časťami kódu, čím sa urýchli proces vývoja aplikácie. Všimnite si však, že výkon aplikácií do značnej miery závisí od toho, ako efektívne sú kompilátory používané pri ich vývoji a aké funkcie hardvér používajú sa pri generovaní strojového kódu.
Najnovšie verzie kompilátorov Intel Intel C++ a Intel Fortran pre Windows a Linux vám umožňujú získať výhody výkonu aplikácií pre systémy založené na procesory Intel Itanium 2, Intel Xeon a Intel Pentium 4 až o 40 % v porovnaní s existujúcimi kompilátormi od iných výrobcov vďaka použitiu takých vlastností týchto procesorov, ako je technológia Hyper-Threading.
Rozdiely spojené s optimalizáciou kódu touto rodinou kompilátorov zahŕňajú použitie zásobníka na vykonávanie operácií s pohyblivou rádovou čiarkou, interprocedurálnu optimalizáciu (IPO), optimalizáciu v súlade s profilom aplikácie (Profile Guided Optimization (PGO), predbežné načítanie údajov do vyrovnávacej pamäte ( Prefetching dát), ktorý zabraňuje latencii spojenej s prístupom do pamäte, podpora charakteristických vlastností procesorov Intel (napríklad rozšírenia pre streamingové spracovanie dát Intel Streaming SIMD Extensions 2, charakteristické pre Intel Pentium 4), automatická paralelizácia vykonávania kódu, aplikácia tvorba, beží na viacerých odlišné typy procesorov pri optimalizácii pre jeden z nich, nástroje na „predikciu“ následného kódu (predikcia vetvy), rozšírená podpora práce s vykonávacími vláknami.
Všimnite si, že kompilátory Intel sa používajú v takých známych spoločnostiach ako Alias/Wavefront, Oracle, Fujitsu Siemens, ABAQUS, Silicon Graphics, IBM. Podľa nezávislého testovania viacerých spoločností je výkon kompilátorov Intel výrazne vyšší ako výkon kompilátorov od iných výrobcov (pozri napr. http://intel.com/software/products/compilers/techtopics/compiler_gnu_perf .pdf).
Nižšie sa pozrieme na niektoré funkcie najnovšie verzie Kompilátory Intel pre stolné počítače a servery operačné systémy.
Kompilátory pre platformu Microsoft Windows
Intel C++ Compiler 7.1 pre Windows
Intel C++ Compiler 7.1 je kompilátor vydaný začiatkom tohto roka, ktorý poskytuje vysoko optimalizovaný kód pre procesory Intel Itanium, Intel Itanium 2, Intel Pentium 4 a Intel Xeon, ako aj procesor Intel Pentium M využívajúci technológiu Intel Centrino a určený na použitie v mobilné zariadenia.
Uvedený kompilátor je plne kompatibilný s vývojovými nástrojmi Microsoft Visual C++ 6.0 a Microsoft Visual Studio .NET: môže byť zabudovaný do príslušných vývojových prostredí.
Tento kompilátor podporuje štandardy ANSI a ISO C/C++.
Intel Fortran Compiler 7.1 pre Windows
Intel Fortran Compiler 7.1 pre Windows, tiež vydaný začiatkom tohto roka, vám umožňuje vytvárať optimalizovaný kód pre procesory Intel Itanium, Intel Itanium 2, Intel Pentium 4 a Intel Xeon, Intel Pentium M.
Tento kompilátor je plne kompatibilný s vývojovými nástrojmi Microsoft Visual C++ 6.0 a Microsoft Visual Studio .NET, to znamená, že môže byť zabudovaný do príslušných vývojových prostredí. Okrem toho vám tento kompilátor umožňuje vyvíjať 64-bitové aplikácie pre operačné systémy bežiace na procesoroch Itanium/Itanium 2 pomocou Microsoft Visual Studio na 32-bitovom procesore Pentium pomocou 64-bitového kompilátora Intel Fortran. Pri ladení kódu vám tento kompilátor umožňuje použiť debugger na platformy Microsoft.NET.
Ak máte nainštalovaný produkt Compaq, namiesto pôvodného Intel Fortran Compiler 7.1 je možné použiť Visual Fortran 6.6, pretože tieto kompilátory sú kompatibilné na úrovni zdrojový kód.
Intel Fortran Compiler 7.1 pre Windows je plne kompatibilný so štandardom ISO Fortran 95 a podporuje vytváranie a ladenie aplikácií obsahujúcich kód v dvoch jazykoch: C a Fortran.
Kompilátory pre platformu Linux
Intel C++ Compiler 7.1 pre Linux
Ďalší kompilátor, ktorý bol vydaný začiatkom roka, Intel C++ Compiler 7.1 pre Linux, umožňuje dosiahnuť vysoký stupeň optimalizácie kódu pre procesory Intel Itanium, Intel Itanium 2, Intel Pentium 4, Intel Pentium M. Tento kompilátor je plne kompatibilný s kompilátorom GNU C na zdrojovom kóde a objektových moduloch, čo vám umožňuje migrovať naň bez dodatočných nákladov aplikácie vytvorené pomocou GNU C. Intel C++ Compiler podporuje C++ ABI (doplnok k jadru Linuxu, ktorý umožňuje spúšťať pod Linuxové ovládanie skompilovaný kód pre iné platformy, ako sú skoré operačné systémy SCO, skoré verzie Sun Solaris atď.), čo znamená plnú kompatibilitu s kompilátorom gcc 3.2 na úrovni binárneho kódu. Nakoniec, s Intel C++ Compiler 7.1 pre Linux môžete dokonca prekompilovať jadro Linuxu vykonaním niekoľkých menších zmien v jeho zdrojovom kóde.
Intel Fortran Compiler 7.1 pre Linux
Intel Fortran Compiler 7.1 pre Linux umožňuje vytvárať optimalizovaný kód pre procesory Intel Itanium, Intel Itanium 2, Intel Pentium 4, Intel Pentium M. Tento kompilátor je plne kompatibilný s kompilátorom Compaq Visual Fortran 6.6 na úrovni zdrojového kódu, čo umožňuje prekompilovať aplikácie pomocou neho vytvorené pomocou Compaq Visual Fortran, čím sa zvýši ich výkon.
Okrem toho je špecifikovaný kompilátor kompatibilný s takými nástrojmi, ktoré používajú vývojári, ako je editor emacs, debugger gdb a nástroj na zostavenie aplikácie make.
Rovnako ako verzia tohto kompilátora pre Windows, aj Intel Fortran Compiler 7.1 pre Linux je plne kompatibilný so štandardom ISO Fortran 95 a podporuje vytváranie a ladenie aplikácií obsahujúcich kód v dvoch jazykoch: C a Fortran.
Osobitne treba zdôrazniť, že k vytvoreniu uvedených kompilátorov Intel významne prispeli špecialisti z ruského centra vývoja softvéru Intel v Nižnom Novgorode. Viac detailné informácie Informácie o kompilátoroch Intel možno nájsť na webovej stránke spoločnosti Intel na adrese www.intel.com/software/products/.
Druhá časť tohto článku bude venovaná kompilátorom Intel, ktoré vytvárajú aplikácie pre mobilné zariadenia.
Nie si otrok!
Uzavretý vzdelávací kurz pre deti elity: "Skutočné usporiadanie sveta."
http://noslave.org
Materiál z Wikipédie – voľnej encyklopédie
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). | ||||||||||||||||||||||||||||||||||||
Typ | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Autor |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Vývojár | ||||||||||||||||||||||||||||||||||||
Vývojári |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Napísané na |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Rozhranie |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
operačný systém | ||||||||||||||||||||||||||||||||||||
Jazyky rozhrania |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Prvá edícia |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Hardvérová platforma | ||||||||||||||||||||||||||||||||||||
Najnovšia verzia | ||||||||||||||||||||||||||||||||||||
Uvoľniť kandidáta |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Beta verzia |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Alfa verzia |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Testovacia verzia |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Čitateľné formáty súborov |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Generované formáty súborov |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Štát |
Chyba Lua v Module:Wikidata na riadku 170: pokus o indexovanie poľa „wikibase“ (nulová hodnota). |
|||||||||||||||||||||||||||||||||||
Licencia |
Hlavné rysy:
Kompilátor podporuje štandard OpenMP 3.0 pre písanie paralelných programov. Obsahuje tiež modifikáciu OpenMP s názvom Cluster OpenMP, pomocou ktorej môžete spúšťať aplikácie napísané v súlade s OpenMP na klastroch pomocou MPI. Intel C++ Compiler používa frontend (časť kompilátora, ktorý analyzuje skompilovaný program) od Edison Design Group. Rovnaký frontend používajú kompilátory SGI MIPSpro, Comeau C++ a Portland Group. Tento kompilátor je široko používaný na kompiláciu SPEC CPU benchmarkov. Existujú 4 série produktov od spoločnosti Intel, ktoré obsahujú kompilátor:
Medzi nevýhody linuxovej verzie kompilátora patrí čiastočná nekompatibilita s GNU rozšíreniami jazyka C (podporovanými kompilátorom GCC), čo môže spôsobovať problémy pri kompilácii niektorých programov.
Experimentálne možnostiBoli publikované nasledujúce experimentálne verzie kompilátora:
Základné vlajky
Napíšte recenziu na článok "Intel C++ kompilátor"Poznámkypozri tiežOdkazy
Výňatok charakterizujúci kompilátor Intel C++A tiež sa vrátila, aby naposledy videla Bieleho mága... svojho manžela a najvernejšieho priateľa, na ktorého nikdy nezabudla. Vo svojom srdci mu odpustila. Ale na jeho veľkú ľútosť mu nemohla priniesť odpustenie Magdalény... Takže, ako vidíš, Isidora, veľká kresťanská bájka o „odpustení“ je len detskou lžou pre naivných veriacich, aby im to umožnila. robiť akékoľvek zlo s vedomím, že bez ohľadu na to, čo urobia, nakoniec im bude odpustené. Ale odpustiť môžete len to, čo je skutočne hodné odpustenia. Človek musí pochopiť, že za každé spáchané Zlo sa musí zodpovedať... A nie pred akýmsi tajomným Bohom, ale pred sebou samým, ktorý si núti kruto trpieť. Magdaléna Vladykovi neodpustila, hoci si ho hlboko vážila a úprimne ho milovala. Tak ako nám všetkým nedokázala odpustiť strašnú smrť Radomira. ONA predsa rozumela lepšie ako ktokoľvek iný – mohli sme mu pomôcť, mohli sme ho zachrániť pred krutou smrťou... Ale nechceli sme. Keďže považovala vinu Bieleho mága za príliš krutú, nechala ho žiť s touto vinou a nezabudla na ňu ani minútu... Nechcela mu poskytnúť ľahké odpustenie. Už sme ju nikdy nevideli. Rovnako ako nikdy nevideli svoje deti. Magdaléna prostredníctvom jedného z rytierov svojho Chrámu - nášho čarodejníka - odovzdala vladykovi odpoveď na jeho prosbu vrátiť sa k nám: „Slnko nevyjde dvakrát v ten istý deň... Radosť tvojho sveta (Radomír) bude nikdy sa k tebe nevracaj, tak ako sa nevrátim k tebe a ja... Našiel som svoju VIERU a svoju PRAVDU, sú ŽIVÉ, ale tvoje sú MRTVÉ... Oplakávaj svojich synov - milovali ťa. Nikdy ti neodpustím ich smrť, kým budem nažive. A nech vaša vina zostane s vami. Možno ti jedného dňa prinesie Svetlo a Odpustenie... Ale nie odo mňa." Hlava mága Jána nebola prinesená do Meteory z rovnakého dôvodu - nikto z rytierov chrámu sa k nám nechcel vrátiť... Stratili sme ich, ako sme už viackrát stratili mnohých iných, ktorí nechceli. pochopte a prijmite naše obete... Kto to urobil ako vy - odišli a odsúdili nás.Točila sa mi hlava!.. Ako smädnému človeku, ktorý hasí večný hlad po poznaní, som hltavo nasával tok úžasných informácií štedro podávaných Severom... A chcel som ešte oveľa viac!.. Chcel som vedieť všetko, koniec. Bol to závan čerstvej vody v púšti spálenej bolesťou a problémami! A nevedela som sa toho nabažiť... – Mám tisíce otázok! Ale nezostáva čas... Čo mám robiť, Sever?... - Pýtajte sa, Isidora!.. Pýtajte sa, pokúsim sa vám odpovedať... – Povedz mi, Sever, prečo sa mi zdá, že tento príbeh akoby spájal dva životné príbehy, prepletené podobnými udalosťami, a tie sú prezentované ako život jedného človeka? Alebo nemám pravdu? – Máš úplnú pravdu, Isidora. Ako som vám už povedal, „mocní tohto sveta“, ktorí vytvorili falošnú históriu ľudstva, „obliekli“ skutočný Kristov život, mimozemský život židovského proroka Jozuu, ktorý žil pred jeden a pol tisíc rokmi ( z čias príbehu Severu). A nielen on sám, ale aj jeho rodina, jeho príbuzní a priatelia, jeho priatelia a nasledovníci. Veď to bola manželka proroka Jozuu, židovská Mária, ktorá mala sestru Martu a brata Lazara, sestru jeho matky Máriu Yakobe a ďalších, ktorí nikdy neboli blízko Radomíra a Magdalény. Tak ako vedľa nich neboli žiadni iní „apoštoli“ – Pavol, Matúš, Peter, Lukáš a ostatní... Bola to rodina proroka Jozuu, ktorá sa pred jeden a pol tisíc rokmi presťahovala do Provensálska (ktoré sa v tých časoch nazývalo Zaalpská Galia), do gréckeho mesta Massalia (dnešná Marseille), keďže Massalia bola v tom čase „bránou“ medzi Európou a Áziou a pre všetkých „prenasledovaných“ to bol najjednoduchší spôsob, ako sa vyhnúť prenasledovaniu a problémom.
|