Intelovi prevajalniki. Zakaj so bili potrebni novi prevajalniki?
Prevajalniki Intel C++ in Fortran ter knjižnica MKL
Skupaj s standardnimi prevajalniki GNU za Linux so v gručah računalniškega kompleksa NIVC nameščeni prevajalniki Intel C++ in Fortran. Trenutno (začetek leta 2006) so prevajalniki različice 9.1 nameščeni na vse gruče. Ta stran je namenjena opisu najpomembnejših možnosti in nastavitev teh prevajalnikov, kot tudi njihovim glavnim razlikam od prevajalnikov GNU. Stran je namenjena predvsem uporabnikom grozdov MSU Research Computing Center, vendar je lahko uporabna tudi drugim rusko govorečim uporabnikom. Težave, povezane s kompilacijo za platformo IA-64, tukaj niso obravnavane.
Prav tako je knjižnica Intel nameščena na vseh grozdih Kernel Math Library(MKL) različica 8.0.2. Knjižnica se nahaja v imeniku /usr/mkl. Upoštevajte, da so podimeniki 32, 64 in em64t na voljo v imeniku lib. V gruči Ant morate uporabiti knjižnice iz podimenika em64t, v drugih gručih pa iz podimenika 32. Vso potrebno dokumentacijo in primere lahko dobite v imeniku /usr/mkl/doc.
Zakaj so bili potrebni novi prevajalniki?
Potreba po novih prevajalnikih se je pojavila predvsem za a) podporo programiranju v Fortran 90 in tudi b) za zmogljivejšo optimizacijo programov Fortran, kot jo ponuja prevajalnik g77, ki uporablja prevajanje v C in nato prevajanje z uporabo gcc.
Tem zahtevam ustrezajo tudi prevajalniki PGI (Portland Group), vendar jih je podjetje razvijalec zavrnilo dobaviti Rusiji.
Kako uporabiti?
Prevajalniki Intel se prikličejo z ukazi icc(C ali C++), icpc(C++) in ifort(Fortran 77/90). Ukazi mpicc, mpiCC in mpif77 za prevajanje in sestavljanje programov MPI so prav tako konfigurirani za uporabo prevajalnikov Intel.
Možna je tudi uporaba prevajalnikov GNU z ukazi mpigcc, mpig++ in mpig77 (Fortran 90 ni podprt).
Vhodne datoteke
Privzeto so datoteke s pripono .cpp in .cxx se štejejo za izvorna besedila v jeziku C++, datoteke s pripono .c- Izvorna koda C, prevajalnik icpc pa tudi datoteke .c prevaja kot izvorno kodo C++.
Datoteke s končnicami .f, .ftn in .za so prepoznana kot izvorna besedila v jeziku fotran s fiksno obliko zapisa in datoteke .fpp in .F dodatno prešel skozi predprocesor jezika Fortran. Datoteke s pripono .f90 veljajo za izvorna besedila Fortran 90/95 s prostim zapisom. Z možnostmi lahko izrecno določite fiksno ali prosto obliko zapisa za programe Fortran -FI in -FR oz.
Datoteke s pripono .s prepoznana kot koda zbirnega jezika za IA-32.
Funkcije prevajalnika Intel
Tukaj predstavljamo značilnosti prevajalnikov Intel, kot jih je navedel razvijalec v uporabniškem priročniku z nekaterimi našimi komentarji.
- Pomembna optimizacija
Očitno to pomeni optimizacijo kode na visoki ravni, tj. najprej razne transformacije zank, ki jih z večjim ali manjšim uspehom počnejo skoraj vsi prevajalniki - Optimizacija s plavajočo vejico
Očitno to pomeni najprej največjo uporabo ukazov, ki se izvajajo na ravni strojne opreme - Medproceduralne optimizacije
tiste. globalna optimizacija celotnega programa, za razliko od navadne optimizacije, ki vpliva samo na kodo določenih funkcij - Optimizacija na podlagi profila
tiste. možnost izvajanja programa v testnem načinu, zbiranje podatkov o času, ki je potreben za prenos določenih fragmentov kode znotraj pogosto uporabljenih funkcij, in nato uporaba teh podatkov za optimizacijo - Podpora za nabor navodil SSE v procesorjih Pentium III
opomba: za računalniške naloge so bolj zanimivi ukazi SSE2, tj. vektorski ukazi nad 64-bitnimi realnimi števili, vendar so podprti samo na procesorjih Pentium 4, ki jih še nimamo na razpolago - Samodejna vektorizacija
tiste. spet z uporabo ukazov SSE in SSE2, ki jih samodejno vstavi prevajalnik - Podpora OpenMP za programiranje na sistemih SMP
opomba: na gruči je priporočljiva predvsem uporaba vmesnika MPI; široke uporabe OpenMP v gruči ni pričakovati in takšni poskusi še niso bili izvedeni; verjetno pa je smiselno uporabljati knjižnice (BLAS itd.), ki so vzporedne za skupni pomnilnik. - Vnaprejšnje pridobivanje podatkov
tiste. Očitno je uporaba prednalaganja ukazov iz pomnilnika v predpomnilnik podatkov, ki bodo potrebni čez nekaj časa - Koda "odpreme" za različne procesorje
tiste. možnost generiranja kode za različne procesorje v eni izvedljivi datoteki, kar vam omogoča, da izkoristite najnovejši procesorji doseči najvišjo zmogljivost na njih, hkrati pa ohraniti binarno združljivost programov s prejšnjimi procesorji; Na našem grozdu to še ni relevantno, ker uporabljajo se le procesorji Pentium III, programi, prevedeni v gruči, pa se ne smejo prenašati in izvajati na drugih računalnikih
Osnovne možnosti prevajalnika
Najbolj zanimive so seveda možnosti optimizacije kode. Večina možnosti je skupnih prevajalnikom C++ in Fortran. več natančen opis možnosti v angleških uporabniških priročnikih.
Stopnje optimizacije | |
---|---|
Možnost | Opis |
-O0 | Onemogoči optimizacijo |
-O1 ali -O2 | Osnovna optimizacija za hitrost. Vstavljanje knjižničnih funkcij je onemogočeno. Za prevajalnik C++ te možnosti nudijo enako optimizacijo; za prevajalnik Fortran je boljša možnost -O2, ker vključuje tudi promocijo cikla. |
-O3 | Zmogljivejše optimizacije, vključno s transformacijami zank, vnaprejšnjim pridobivanjem podatkov in uporabo OpenMP. Nekateri programi morda ne zagotavljajo boljšega delovanja v primerjavi z -O2. Smiselno je uporabljati v povezavi z možnostmi vektorizacije -xK in -xW. |
-odvij [n] | Omogoča odvijanje zanke do n-krat. |
Optimizacije za določen procesor | |
Možnost | Opis |
-tpp6 | Optimizacija za procesorje Penitum Pro, Pentium II in Pentium III |
-tpp7 | Optimizacija za procesorje Penitum 4 (ta možnost je privzeto omogočena za prevajalnik IA-32) |
-xM | Generiranje kode z uporabo razširitev MMX, značilnih za procesorje Pentium MMX, Pentium II in novejše |
-xK | Generiranje kode z uporabo razširitev SSE, značilnih za procesorje Pentium III |
-xW | Generiranje kode z uporabo razširitev SSE2, značilnih za procesorje Pentium 4 |
Medproceduralna optimizacija | |
-ip | Omogočena je medproceduralna optimizacija znotraj ene datoteke. Če določite možnost -ip_no_inlining, potem je vstavljanje funkcij v vrstici onemogočeno. |
-ipo | Omogoča medproceduralno optimizacijo med različnimi datotekami |
Optimizacije z uporabo profilov | |
-prof_gen | Ustvari se koda za "profiliranje", ki bo uporabljena za profiliranje, tj. zbiranje podatkov o pogostosti prehajanja določenih mest v programu |
-prof_use | Optimizacija se izvaja na podlagi podatkov, pridobljenih v fazi profiliranja. Smiselno jo je uporabljati skupaj z možnostjo interproceduralne optimizacije -ipo. |
Paralelizacija za SMP sisteme | |
-openmp | Omogoča podporo za standard OpenMP 2.0 |
- vzporedno | Samodejna paralelizacija zanke je omogočena |
Izvedba
Glede na rezultate izvajanja testov SPEC CPU2000, objavljenih na strežniku ixbt.com, so bili Intelovi prevajalniki različice 6.0 skoraj povsod boljši v primerjavi s prevajalniki gcc različic 2.95.3, 2.96 in 3.1 ter PGI različice 4.0.2. Ti testi so bili izvedeni leta 2002 na računalniku s procesorjem Pentium 4/1,7 GHz in RedHat Linux 7.3.
Glede na teste, ki jih je izvedel Polyhedron, je bil prevajalnik Intel Fortran različice 7.0 skoraj univerzalno boljši od drugih prevajalnikov Fortran 77 za Linux (Absoft, GNU, Lahey, NAG, NAS, PGI). Samo v nekaterih testih je prevajalnik Intel nekoliko slabši od prevajalnikov Absoft, NAG in Lahey. Ti testi so bili izvedeni na računalniku s procesorjem Pentium 4/1,8 GHz in Mandrake Linux 8.1.
Intelovi prevajalniki različice 9.1 prav tako prekašajo prevajalnike gcc in kažejo zmogljivost, primerljivo z Absoft, PathScale in PGI.
Hvaležni bomo tistim uporabnikom in bralcem, ki nam bodo posredovali podatke o vplivu izbire prevajalnika (GCC ali Intel) in možnosti optimizacije na hitrost dela pri njihovih realnih problemih.
Knjižnice
Prevajalnik jezika C uporablja knjižnico izvajalnega okolja, razvito v okviru projekta GNU ( libc.a).
Naslednje knjižnice so priložene prevajalniku Intel C++:
- libcprts.a- jezikovna knjižnica izvajalnega okolja C++, ki jo je razvil Dinkumware.
- libcxa.a- dodatna izvajalna knjižnica za razvoj C++ s strani Intel.
- libimf.a- knjižnica matematičnih funkcij, ki jo je razvil Intel, ki vključuje optimizirane in visoko natančne izvedbe trigonometričnih, hiperboličnih, eksponentnih, posebnih, kompleksnih in drugih funkcij (za več podrobnosti glejte seznam funkcij).
- libirc.a- podpora med izvajanjem za profiliranje (PGO) in pošiljanje kode, odvisno od procesorja (glejte zgoraj).
- libguide.a- Implementacija OpenMP.
Ta seznam vsebuje statične knjižnice, za večino pa tudi dinamične, tj. možnosti, povezane med zagonom ( .tako).
Naslednje knjižnice so priložene prevajalniku Fortran: libCEPCF90.a, libIEPCF90.a, libintrini.a, libF90.a, uporablja se tudi knjižnica matematičnih funkcij libimf.a.
Gradnja izvršljive datoteke
Knjižnice se lahko povezujejo statično (med gradnjo) ali dinamično (med zagonom programa). Dinamični pristop vam omogoča zmanjšanje velikosti izvedljive datoteke in omogoča skupno rabo iste kopije knjižnice v pomnilniku, vendar morate za to namestiti celoten niz dinamičnih knjižnic, ki se uporabljajo na vsakem vozlišču, kjer se bodo programi zagnali .
Če ste torej namestili Intelov prevajalnik na svoj računalnik z Linuxom in želite zagnati prevedene izvedljive datoteke na drugih računalnikih, potem morate uporabiti statično gradnjo (kar je lažje) ali kopirati Intelove dinamične knjižnice v te računalnike (običajno iz imenik, npr. stroji.
Privzeto so vse Intelove razvojne knjižnice (razen libcxa.so) povezane statično, vse sistemske knjižnice Linux in knjižnice GNU pa so povezane dinamično. Uporaba možnosti -statična lahko prisilite zbiralnik (urejevalnik povezav), da statično poveže vse knjižnice (kar bo povečalo glasnost izvršljiva datoteka) in z uporabo možnosti -i_dinamičen Vse Intelove razvojne knjižnice lahko dinamično povežete.
Pri povezovanju dodatnih knjižnic z možnostjo pogleda -knjižnica morda boste morali uporabiti možnost -Imenik da določite pot, kjer se nahajajo knjižnice.
Uporaba možnosti -Bstatično in -Bdinamično lahko izrecno podate dinamično ali statično povezavo vsake od knjižnic, navedenih v ukazna vrstica.
Uporaba možnosti -c sestavljanje izvršljive datoteke je onemogočeno in izvede se samo prevajanje (generacija objektnega modula).
Moduli za skupno rabo v Fortranu in C
Za skupno rabo modulov, napisanih v Fortranu in C, se morate dogovoriti o poimenovanju postopkov v objektnih modulih, posredovanju parametrov in dostopu do globalnih spremenljivk, če obstajajo.
Prevajalnik Intel Fortran privzeto pretvori imena postopkov v male črke in na koncu imena doda podčrtaj. Prevajalnik C nikoli ne spremeni imen funkcij. Torej, če želimo poklicati funkcijo ali proceduro FNNAME, implementirano v C iz modula Fortran, potem se mora v modulu C imenovati fnname_.
Prevajalnik Fortran podpira možnost -nus [ime datoteke], ki vam omogoča, da onemogočite dodajanje podčrtajev notranjim imenom postopkov. Če je podano ime datoteke, se to naredi samo za imena postopkov, navedena v navedeni datoteki.
Privzeto se v Fortranu parametri posredujejo po sklicu, v C pa se vedno posredujejo po vrednosti. Tako moramo pri klicu postopka Fortran iz modula C posredovati kazalce na ustrezne spremenljivke, ki vsebujejo vrednosti dejanskih parametrov kot parametrov. Ko pišemo funkcijo v C, ki jo bo treba poklicati iz modula Fortran, moramo formalne parametre opisati kot kazalce na ustrezne tipe.
V modulih C je mogoče uporabiti bloke COMMON, definirane znotraj modulov Fortran (za več informacij glejte Uporabniški priročnik za prevajalnik Intel Fortran, poglavje Mešanje C in Fortran).
Skupna raba prevajalnikov Intel in GCC
Objektni moduli C, ki jih izdeluje prevajalnik Intel C++, so združljivi z moduli, ki jih izdelujeta prevajalnik GCC in knjižnica GNU C. Tako je mogoče te module uporabljati skupaj v enem samem programu, prevedenem z ukazoma icc ali gcc, vendar je priporočljivo, da uporabite icc za pravilno vključitev knjižnic Intel.
Intelov prevajalnik podpira številne nestandardne razširitve jezika C, ki jih uporablja projekt GNU in podpira prevajalnik GCC (vendar ne vseh, za več podrobnosti glejte tukaj).
Uporabniški priročnik ne pove ničesar o združljivosti objektnih modulov v jezikih C++ in Fortran; očitno ni podprt.
Podpora standardom
Intel C++ Compiler 7.0 za Linux podpira jezikovni standard ANSI/ISO C (ISO/IEC 9899/1990). Možno je vzpostaviti strogo združljivost s standardom ANSI C ( -ansi) ali razširjeno narečje ANSI C ( -Xa). Pri uporabi možnosti -c99
V prejšnji številki revije smo razpravljali o izdelkih iz družine Intel VTune Performance Analyzer - orodjih za analizo zmogljivosti, ki so zasluženo priljubljena med razvijalci aplikacij in omogočajo zaznavanje v kodi timske prijave, ki zapravljajo preveč virov procesorja, kar daje razvijalcem možnost, da prepoznajo in odpravijo potencial ozka mesta, povezane s podobnimi deli kode, s čimer se pospeši proces razvoja aplikacije. Upoštevajte pa, da je zmogljivost aplikacij v veliki meri odvisna od tega, kako učinkoviti so prevajalniki, uporabljeni pri njihovem razvoju, in katere funkcije strojna oprema uporabljajo se pri generiranju strojne kode.
Najnovejše različice prevajalnikov Intel Intel C++ in Intel Fortran za Windows in Linux vam omogočajo, da pridobite prednosti zmogljivosti aplikacij za sisteme, ki temeljijo na Intel procesorji Itanium 2, Intel Xeon in Intel Pentium 4 do 40 % v primerjavi z obstoječimi prevajalniki drugih proizvajalcev zaradi uporabe takih funkcij teh procesorjev, kot je tehnologija Hyper-Threading.
Razlike, povezane z optimizacijo kode s to družino prevajalnikov, vključujejo uporabo sklada za izvajanje operacij s plavajočo vejico, medproceduralno optimizacijo (IPO), optimizacijo v skladu s profilom aplikacije (profilno vodena optimizacija (PGO), prednalaganje podatkov v predpomnilnik ( Vnaprejšnje pridobivanje podatkov), ki se izogne zakasnitvi, povezani z dostopom do pomnilnika, podpora značilnim lastnostim procesorjev Intel (na primer razširitve za pretočno obdelavo podatkov Intel Streaming SIMD Extensions 2, značilnost Intel Pentium 4), avtomatska paralelizacija izvajanja kode, aplikacija ustvarjanje, ki teče na več različni tipi procesorji pri optimizaciji za enega od njih, orodja za "predvidevanje" naslednje kode (branch prediction), razširjena podpora za delo z izvajalnimi nitmi.
Upoštevajte, da prevajalnike Intel uporabljajo tako znana podjetja, kot so Alias/Wavefront, Oracle, Fujitsu Siemens, ABAQUS, Silicon Graphics, IBM. Glede na neodvisna testiranja, ki so jih izvedla številna podjetja, je zmogljivost Intelovih prevajalnikov znatno višja od zmogljivosti prevajalnikov drugih proizvajalcev (glejte na primer http://intel.com/software/products/compilers/techtopics/compiler_gnu_perf .pdf).
Spodaj si bomo ogledali nekaj funkcij najnovejše različice Intelovi prevajalniki za namizje in strežnike operacijski sistemi.
Prevajalniki za platformo Microsoft Windows
Intel C++ Compiler 7.1 za Windows
Intel C++ Compiler 7.1 je prevajalnik, izdan v začetku tega leta, ki zagotavlja visoko optimizirano kodo za procesorje Intel Itanium, Intel Itanium 2, Intel Pentium 4 in Intel Xeon ter procesor Intel Pentium M, ki uporablja tehnologijo Intel Centrino in je namenjen za uporabo v mobilne naprave.
Navedeni prevajalnik je popolnoma združljiv z razvojnimi orodji Microsoft Visual C++ 6.0 in Microsoft Visual Studio .NET: vgradimo ga lahko v ustrezna razvojna okolja.
Ta prevajalnik podpira standarde ANSI in ISO C/C++.
Prevajalnik Intel Fortran 7.1 za Windows
Intel Fortran Compiler 7.1 za Windows, prav tako izdan v začetku tega leta, vam omogoča ustvarjanje optimizirane kode za procesorje Intel Itanium, Intel Itanium 2, Intel Pentium 4 in Intel Xeon, Intel Pentium M.
Ta prevajalnik je popolnoma združljiv z razvojnimi orodji Microsoft Visual C++ 6.0 in Microsoft Visual Studio .NET, kar pomeni, da ga je mogoče vgraditi v ustrezna razvojna okolja. Poleg tega vam ta prevajalnik omogoča razvoj 64-bitnih aplikacij za operacijske sisteme, ki se izvajajo na procesorjih Itanium/Itanium 2 z uporabo programa Microsoft Visual Studio na 32-bitnem procesorju Pentium z uporabo 64-bitnega prevajalnika Intel Fortran. Pri odpravljanju napak v kodi vam ta prevajalnik omogoča uporabo razhroščevalnika za Microsoftove platforme.MREŽA.
Če imate nameščen izdelek Compaq, lahko namesto originalnega Intel Fortran Compiler 7.1 uporabite Visual Fortran 6.6, saj so ti prevajalniki združljivi na ravni izvorna koda.
Intel Fortran Compiler 7.1 za Windows je popolnoma združljiv s standardom ISO Fortran 95 in podpira ustvarjanje in razhroščevanje aplikacij, ki vsebujejo kodo v dveh jezikih: C in Fortran.
Prevajalniki za platformo Linux
Intel C++ Compiler 7.1 za Linux
Drugi prevajalnik, ki je bil izdan na začetku leta, Intel C++ Compiler 7.1 za Linux, omogoča doseganje visoke stopnje optimizacije kode za procesorje Intel Itanium, Intel Itanium 2, Intel Pentium 4, Intel Pentium M. Ta prevajalnik je v celoti združljiv s prevajalnikom GNU C pri izvorni kodi in objektnih modulih, kar vam omogoča, da vanj brez dodatnih stroškov preselite aplikacije, ustvarjene z GNU C. Prevajalnik Intel C++ podpira C++ ABI (dodatek k jedru Linuxa, ki vam omogoča zagon Spodaj Linux nadzor prevedena koda za druge platforme, kot so zgodnji operacijski sistemi SCO, zgodnje različice Sun Solaris itd.), kar pomeni popolno združljivost s prevajalnikom gcc 3.2 na ravni binarne kode. Nazadnje, z Intel C++ Compiler 7.1 za Linux lahko celo znova prevedete jedro Linuxa tako, da naredite nekaj manjših sprememb v njegovi izvorni kodi.
Prevajalnik Intel Fortran 7.1 za Linux
Prevajalnik Intel Fortran 7.1 za Linux vam omogoča ustvarjanje optimizirane kode za procesorje Intel Itanium, Intel Itanium 2, Intel Pentium 4, Intel Pentium M. Ta prevajalnik je popolnoma združljiv s prevajalnikom Compaq Visual Fortran 6.6 na ravni izvorne kode, kar vam omogoča za ponovno prevajanje aplikacij, ustvarjenih s Compaq Visual Fortran, in s tem povečanje njihove zmogljivosti.
Poleg tega je podani prevajalnik združljiv s pripomočki, ki jih uporabljajo razvijalci, kot so urejevalnik emacs, razhroščevalnik gdb in pripomoček za izdelavo aplikacije make.
Tako kot različica tega prevajalnika za Windows je Intel Fortran Compiler 7.1 za Linux popolnoma združljiv s standardom ISO Fortran 95 in podpira ustvarjanje in razhroščevanje aplikacij, ki vsebujejo kodo v dveh jezikih: C in Fortran.
Posebej je treba poudariti, da so pomemben prispevek k ustvarjanju naštetih Intelovih prevajalnikov prispevali strokovnjaki Intelovega ruskega centra za razvoj programske opreme v Nižnem Novgorodu. več podrobne informacije Informacije o Intelovih prevajalnikih najdete na Intelovem spletnem mestu www.intel.com/software/products/.
Drugi del tega članka bo posvečen Intelovim prevajalnikom, ki ustvarjajo aplikacije za mobilne naprave.
Nisi suženj!
Zaprti izobraževalni tečaj za otroke elite: "Prava ureditev sveta."
http://noslave.org
Gradivo iz Wikipedije - proste enciklopedije
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). | ||||||||||||||||||||||||||||||||||||
Vrsta | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Avtor |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Razvijalec | ||||||||||||||||||||||||||||||||||||
Razvijalci |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Napisano naprej |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Vmesnik |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
operacijski sistem | ||||||||||||||||||||||||||||||||||||
Jeziki vmesnika |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Prva izdaja |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Strojna platforma | ||||||||||||||||||||||||||||||||||||
Najnovejša različica | ||||||||||||||||||||||||||||||||||||
Kandidat za sprostitev |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Beta različica |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Alfa različica |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Testna različica |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Berljivi formati datotek |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Ustvarjeni formati datotek |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Država |
Napaka Lua v Module:Wikidata v vrstici 170: poskus indeksiranja polja "wikibase" (ničelna vrednost). |
|||||||||||||||||||||||||||||||||||
Licenca |
Glavne značilnosti:
Prevajalnik podpira standard OpenMP 3.0 za pisanje vzporednih programov. Vsebuje tudi modifikacijo OpenMP, imenovano Cluster OpenMP, s katero lahko izvajate aplikacije, napisane v skladu z OpenMP, na gručah z uporabo MPI. Intel C++ Compiler uporablja frontend (del prevajalnika, ki razčleni prevedeni program) podjetja Edison Design Group. Isti vmesnik uporabljajo prevajalniki SGI MIPSpro, Comeau C++ in Portland Group. Ta prevajalnik se pogosto uporablja za prevajanje SPEC CPU meril uspešnosti. Obstajajo 4 serije izdelkov podjetja Intel, ki vsebujejo prevajalnik:
Slabosti različice prevajalnika za Linux so delna nezdružljivost z razširitvami GNU jezika C (podprte s prevajalnikom GCC), kar lahko povzroči težave pri prevajanju nekaterih programov.
Eksperimentalne možnostiObjavljene so bile naslednje poskusne različice prevajalnika:
Osnovne zastave
Napišite oceno o članku "Prevajalnik Intel C++"OpombePoglej tudiPovezave
Odlomek, ki opisuje prevajalnik Intel C++In prav tako se je vrnila, da bi še zadnjič videla Belega maga... Njenega moža in zvestega prijatelja, ki ga nikoli ni mogla pozabiti. V srcu mu je odpustila. Toda na njegovo veliko žalost mu ni mogla prinesti Magdaleninega odpuščanja ... Torej, kot vidiš, Izidora, je velika krščanska bajka o "odpuščanju" le otročja laž za naivne vernike, da bi jim dovolili storiti kakršno koli zlo, vedoč, da jim bo ne glede na to, kaj storijo, na koncu odpuščeno. Toda odpustiš lahko le tisto, kar je resnično vredno odpuščanja. Človek mora razumeti, da mora za vsako storjeno zlo odgovarjati ... In ne pred nekim skrivnostnim Bogom, ampak pred samim seboj, ki se prisili v kruto trpljenje. Magdalena Vladyku ni odpustila, čeprav ga je globoko spoštovala in iskreno ljubila. Tako kot vsem nam ni odpustila strašne Radomirjeve smrti. Navsezadnje je ONA razumela bolje kot kdorkoli drug - lahko bi mu pomagali, lahko bi ga rešili pred kruto smrtjo ... Ampak tega nismo hoteli. Ker je menila, da je krivda Belega maga preveč kruta, ga je pustila živeti s to krivdo, ne da bi je pozabila niti za minuto... Ni mu želela dati lahkega odpuščanja. Nikoli več je nismo videli. Tako kot nikoli niso videli svojih otrok. Preko enega od vitezov svojega templja - našega čarovnika - je Magdalena posredovala odgovor Vladiki na njegovo prošnjo, naj se vrne k nam: »Sonce ne vzide dvakrat na isti dan ... Veselje tvojega sveta (Radomir) bo nikoli se ne vrni k tebi, tako kot se ne bom vrnil k tebi in jaz... Našel sem svojo VERO in svojo RESNICO, ŽIVI sta, tvoja pa je MRTVA... Žaluj za svojimi sinovi - ljubili so te. Nikoli ti ne bom odpustil njihove smrti, dokler bom živ. In naj vaša krivda ostane s tabo. Morda ti bo nekega dne prinesla svetlobo in odpuščanje ... Ampak ne od mene.« Glava maga Janeza ni bila prinesena v Meteoro iz istega razloga - nihče od vitezov templja se ni hotel vrniti k nam ... Izgubili smo jih, kot smo izgubili že večkrat mnoge druge, ki niso hoteli razumeti in sprejeti naše žrtve... Ki so storili tako kot vi - so odšli in nas obsojali.V glavi se mi je vrtelo!.. Kot žejen človek, ki teši večno lakoto po znanju, sem pohlepno vsrkaval tok neverjetnih informacij, ki jih je velikodušno dajal sever... In želel sem veliko več!.. Hotel sem vedeti vse, konec. To je bil dih sveže vode v puščavi, ožgani od bolečine in težav! In nisem se mogla naveličati... – Imam na tisoče vprašanj! Ampak ni več časa ... Kaj naj storim, Sever?.. - Vprašaj, Izidora!.. Vprašaj, poskušal ti bom odgovoriti ... – Povej mi, Sever, zakaj se mi zdi, da ta zgodba združuje dve življenjski zgodbi, prepleteni s podobnimi dogodki, in sta predstavljeni kot življenje ene osebe? Ali pa nimam prav? – Popolnoma prav imaš, Izidora. Kot sem vam že povedal, so »močneži tega sveta«, ki so ustvarile lažno zgodovino človeštva, na resnično Kristusovo življenje »oblekle« tuje življenje judovskega preroka Jozueta, ki je živel pred tisoč leti in pol ( iz časa zgodbe o severu). Pa ne samo sebe, tudi svojo družino, svoje sorodnike in prijatelje, svoje prijatelje in sledilce. Navsezadnje je bila to žena preroka Jozueta, judovska Marija, ki je imela sestro Marto in brata Lazarja, sestro njegove matere Marijo Jakobe in druge, ki nikoli niso bili blizu Radomirja in Magdalene. Tako kot ob njih ni bilo drugih »apostolov« - Pavla, Mateja, Petra, Luke in ostalih ... Družina preroka Jozueta se je pred tisoč leti in pol preselila v Provanso (ki se je takrat imenovala Transalpska Galija), v grško mesto Massalia (današnji Marseille), saj je bila Massalia takrat »vrata« med Evropo in Azijo in je bila to najlažja pot za vse »preganjane«, da so se izognili preganjanju in težavam.
|