Chapel

Szoftver screenshot:
Chapel
Szoftver adatai:
Változat: 1.3.0 Pre-Alpha
Feltöltés dátuma: 11 May 15
Fejlesztő: Cray Inc.
Engedély: Ingyenes
Népszerűség: 12

Rating: nan/5 (Total Votes: 0)

Chapel egy új párhuzamos programozási nyelv által fejlesztett Cray Inc. részeként a DARPA által vezetett Nagy teljesítmény Computing Systems programot (HPC). Kápolna célja, hogy javítsa a termelékenységet a high-end számítógép-felhasználók, miközben szolgáló hordozható párhuzamos programozási modell, amely használható a nyersanyagárak klaszterek vagy asztali többmagos rendszereken. Kápolna arra törekszik, hogy jelentősen javítja a programozhatóság nagyszabású párhuzamos számítógépek, míg megfelelő, vagy verte a teljesítmény és a hordozhatóság jelenlegi programozási modellek, mint MPI.
A kápolna alkalmazás támogatja a többszálú végrehajtás modell segítségével magas szintű absztrakciói adatpárhuzamosság, feladat párhuzamosság, konkurencia, és beágyazott párhuzamosság. & Nbsp; kápolna locale típus lehetővé teszi a felhasználóknak, hogy pontosítsák és oka arról, hol van az adatok és feladatok a célarchitektúra érdekében hangolni a településen. Kápolna támogatja a globális néző adatok aggregátumok a felhasználó által meghatározott megvalósítások, amelyek lehetővé teszik műveleteket a megosztott adatokhoz struktúrákat kell kifejezni, természetes módon. Ellentétben sok korábbi magasabb szintű párhuzamos nyelvek, kápolna köré tervezték a változó felbontású filozófia, amely lehetővé teszi a felhasználóknak, hogy kezdetben írni nagyon elvont kódot, majd fokozatosan a további részletek, amíg azok olyan közel a készüléket az igényeiknek igényel. Kápolna támogatja kód újrafelhasználásának és a gyors prototípus keresztül objektum-orientált tervezés, írja következtetést, és jellemzői a generikus programozást.
Kápolna tervezte az első elvek helyett kiterjesztésével egy már meglévő nyelvből. Ez egy rendkívül fontos blokk-szerkezetű nyelvet, úgy tervezték, hogy könnyen megtanulható felhasználói számára a C, C ++, Fortran, Java, Perl, Matlab, és más népszerű nyelveken. Míg kápolna épül fogalmak és szintaxis sok korábbi nyelvek, a párhuzamos funkciók legközvetlenebb módon befolyásolni ZPL, nagyteljesítményű Fortran (HPF), és a Cray MTA & trade; / Cray adás & trade; kiterjesztéseket C és Fortran.

Mi az új ebben a kiadásban:

  • Highlights (a részleteket lásd alább)
  • Split "def" kulcsszót "proc" (az eljárást), és "iter" (a bejárók)
  • (lásd "$ CHPL_HOME / util / convert-defs --help" segítségért frissítése meglévő kódok)
  • hozzáadott "Replikált forgalmazási és továbbfejlesztett" blokk-ciklikus "forgalmazás
  • (lásd & quot; szabványos kiadások & quot; a spec és példák / alapozók / distributions.chpl)
  • hozzá egyetlen locale feladat rétegek számára Nanos ++ (BSC) és Qthreads (Sandia)
  • (lásd doc / README.tasks)
  • nagy átdolgozása tartományban szemantika és végrehajtása
  • (lásd & quot; szemantikus Változások / megváltoztatása Chapel Language & quot; alább részletesen)
  • kezdeti támogatást az illékony típusok: bool, int, uint, valós, képzetes
  • (lásd doc / technikai megjegyzéseket / README.volatile)
  • támogatását extern consts és osztályok (pointerek-to-struktúrákat)
  • (lásd doc / technikai megjegyzéseket / README.extern)
  • továbbfejlesztett támogatása adatpárhuzamosság a Cray adás
  • széleskörű javítása minta kódok a példákban / directory
  • (lásd "példa kódok 'alatt, és példákat / README)
  • hozzá leginkább kód példák a spec egy új példák / directory
  • (lásd a példákat / spec / *)
  • hozzá a műszaki feljegyzést, a felhasználó által definiált tartomány térképes felületen
  • (lásd doc / technikai megjegyzéseket / README.dsi)
  • kiterjedt frissítéseket a nyelvi specifikáció
  • (lásd "Dokumentáció" alább)
  • több fejlesztést a futásidejű tasking és kommunikációs rétegek
  • (lásd & quot; Runtime Library Változások & quot; alább)
  • A szintaktikai / elnevezése Változások
  • Split "def" kulcsszót "proc" (az eljárást), és "iter" (a bejárók)
  • (lásd "$ CHPL_HOME / util / convert-defs --help" segítségért frissítése meglévő kódok)
  • átnevezték "számtani" domain / tömbök "szögletes" domain / tömbök
  • hozzáadott támogatása lebegőpontos literál a formában "1.E. ..."
  • (Korábban csak "1E ..." és a "1.0E ..." segítették)
  • szemantikus Változások / megváltoztatása Kápolna Nyelv
  • több fejlesztést tartományok (lásd "tartományok" fejezet a nyelvi spec):
  • hozzá a koncepció az igazodás, jelezve a beállítás modulo | léptekkel |
  • hozzá egy 'align' operátor és a lekérdezés a tartományok megadásához / lekérdezés igazítás
  • (pl: "1..10 3 align 2 '= & gt;' 2, 5, 8 '2. óta == 5 == 8, mod 3)
  • megadott == a tartományok tekintetében a integer szekvenciák általuk generált
  • megadott azonosítószám (R1, R2) megmondani, hogy r1 és r2 szemantikailag azonos
  • definiált "# k 'K & lt; 0 bekezdését, & quot; számíthat a végén a tartomány & quot;
  • hozzáadott "első", "last", "alignedLow," alignedHigh "módszerek tartományok
  • (pl: "1..10 által -2 '= & gt; első == 10, utóbbi == 2, alignedLow = 2, alignedHigh = 10)
  • hozzátette, támogatja a különböző új sorozat lekérdezési funkciók
  • (pl alignLow (), hasFirst (), hasLowBound (), isAligned (), boundsCheck () ...)
  • hozzáadott támogatása illékony bool, int, uint, valós és képzetes típusú
  • (lásd doc / technikai megjegyzéseket / README.volatile)
  • hozzáadott end-of-fájlok ellenőrzése a fájltípus
  • (például., "Miközben! Infile.eof ...")
  • távolítani támogatás kezelésére "visszatérés" a bejáró a "hozam"
  • (pl változás "iter ize () {return x;} 'a' iter ize () {hozam x; visszatérés;})
  • hozzátette, támogatja a hivatkozó modulok nélkül "use'-nek nekik
  • (pl modul M1 {var x ...} modul M2 {...} M1.x ... most jogi)
  • hozzá a callStackSize lekérdezést a locale típusú
  • (pl "here.callStackSize" visszatér a hívás verem mérete az aktuális locale)
  • távolítani a korábban szükséges pontosvessző végétől enum nyilatkozatok
  • (pl "enum színek {piros, kék, zöld}" most jogi, korábban szükséges ";")
  • hozzáadott támogatása egyetlen utána következőt végén enum listák
  • (pl "enum színek {piros, kék, zöld,}" most jogi)
  • távolítani támogatása +/- szereplők négyszögletes területekre; Használja Fordítás ()
  • Az újonnan megvalósított funkciók
  • végrehajtott == /! = Négyszögletű, asszociatív, és ritka domain
  • szabványos kiadások
  • hozzá egy első tervezetét "Replikált forgalmazási adatok tárolására redundáns
  • (lásd a példákat / alapozók / distributions.chpl)
  • jobb 'Block-ciklikus ", elegendő a megfelelő végrehajtása HPCC PTRANS és HPL
  • (lásd a példákat / hpcc / ptrans.chpl, hpl.chpl; példák / alapozók / distributions.chpl)
  • távolítani redundanciát specifikációja vezető bejárók között domain / tömbök
  • Normál modulok
  • hozzá INFINITY és a Nan állandók a Math.chpl modul
  • (lásd "Math" & quot; Normál modulok & quot; nyelvi spec)
  • hozzáadott isinf () és isFinite () tesztrutinok a Math.chpl modul
  • (lásd "Math" & quot; Normál modulok & quot; nyelvi spec)
  • hozzá egy fél tucat rutin, hogy a GMP.chpl modul
  • Dokumentáció
  • hozzáadott egy új műszaki feljegyzést, a felhasználó által definiált tartomány térképes felületen
  • (lásd doc / technikai megjegyzéseket / README.dsi)
  • készült számos fejlesztést a nyelvi specifikáció
  • jelentős felülvizsgálatok a Domains fejezetet a jobb érthetőség kedvéért / pontosság
  • javult, és egységes szerkezete Records és osztályok fejezetek
  • jelentős felülvizsgálatok a Domain Maps fejezetet a jobb érthetőség kedvéért / pontosság
  • elemzi például kódok biztosítani a határokon példákkal / spec / programok
  • tisztázni jogszerűségét címke / szünet / ezzel párhuzamosan folytassa hurkok
  • frissítette a leírásokat olvasni [ln] / levelet [ln]
  • rögzített néhány probléma fájlt területeken rendelési
  • átformálta a specifikáció, mint egy "könyvet" LaTeX
  • különböző kisebb javítások helyesírási / hibák
  • javult meghatározásokat / leírás több szempontból
  • hozzáadott dokumentációja locale.name
  • és számos egyéb változás ...
  • frissítette gyors bemutató dokumentum tartalmazza DEF- & gt; proc / iter változás, igazítsa op.
  • Átírta / átszervezték README.extern tisztázni magyarázatokat, és hogy up-to-date
  • hozzá a README leírja a "helyi" nyilatkozatot (doc / technikai megjegyzéseket / README.local)
  • hozzá a README leíró illékony típusú (doc / technikai megjegyzéseket / README.volatile)
  • frissítette README.comm-diagnosztika is beszélve gyors fork statisztikák
  • frissítette különböző README fájlok
  • Példa kódok
  • helyezte a legtöbb kód példák a nyelvi spec. egy új spec / könyvtárban
  • javult a primer / könyvtárban:
  • hozzáadott egy új alapozó eljárások alkalmazásával (primer / procedures.chpl)
  • hozzá az alap alapozó domainek (primer / domains.chpl)
  • átnevezte a helyszíneken alapozót locales.chpl és tökéletesítettük
  • javult a disztribúciók alapozó és hozzáadott blokk-ciklikus és a lemásolt felhasználási
  • frissítette a tartomány primer (primer / range.chpl)
  • javult a bejárók primer (primer / iterators.chpl)
  • javult a csökkentések primer (primer / reductions.chpl)
  • hozzáadott getCurrentTime () az időzítő primer (primer / timers.chpl)
  • hozzáadott leírásai típusú álnevek és config típusú változókkal primer
  • (lásd alapozók / variables.chpl)
  • javult hpcc / referenciaértékek directory
  • hozzáadott első változata HPCC PTRANS hogy hpcc / könyvtárban (ptrans.chpl)
  • hozzáadott tisztább változata HPCC HPL hogy hpcc / könyvtárban (hpl.chpl)
  • hozzá a variánsok / könyvtárban, hogy példát / hpcc mutatnak más megközelítések
  • hozzáadott patak-promoted.chpl megmutatni használata promóció globális STREAM Triad
  • hozzáadott RA-cleanloop.chpl mutatni tisztább (de jelenleg lassabb) RA kernel
  • javult felső szintű példák:
  • átnevezték meglévő & quot; hello, world & quot; példák arra utalnak logikai felolvasási sorrendben
  • (lásd a példákat / helló * .chpl)
  • hozzáadott adatok párhuzamos és elosztott adatok párhuzamos hello, world példák
  • (lásd a példákat / hello3-datapar.chpl, példák / hello4-datapar-dist.chpl)
  • megjegyzéseket fűzött a különböző hello, világ példák (examples / helló * .chpl)
  • frissítve mind példák a jelenlegi nyelvi szemantika
  • 'proc' / 'ITER "helyett" def "
  • frissülnek sor új szemantika
  • Platform-specifikus Notes
  • A Cray XT / Cray XE, javult a aprun és a PBS-aprun hordozórakéták
  • (lásd & quot; Launcher-specifikus jegyzetek & quot; alább)
  • A Cray adás, hozzáadott támogatása párhuzamos hurkok feletti tartományban
  • A Cray adás, hozzáadott generációs noalias pragmák hogy forall loop változók
  • hozzáadott támogatása BSC Marenostrum beleértve docs, és egy különleges launcher
  • (lásd doc / platformok / README.marenostrum)
  • Launcher-specifikus jegyzetek
  • hozzáadott launcher-specifikus opciók, --help képesség
  • javult terjedése exit status kódok segítségével hordozórakéták
  • változott hordozórakéták, hogy támogassa exec-alapú (és nem rendszer alapú) parancsok
  • tett hordozórakéták használni "unlink" helyett rendszert ("rm"), hogy távolítsa el az ideiglenes fájlokat
  • hozzá egy launcher BSC Marenostrum
  • csökkentett számú ideiglenes fájlokat rögzítésére használt kimeneti "rendszer" parancsok
  • aprun launcher fejlesztések:
  • hozzá a --cc zászló adja CPU feladat w / egy node
  • hozzá a -q zászló fut a hordozórakéta csendes üzemmódban
  • hozzáadott hibakereső képesség keresztül CHPL_LAUNCHER_DEBUG tartani tmp fájlokat körül
  • PBS-aprun launcher fejlesztések:
  • hozzá a --cc zászló adja CPU feladat w / egy node
  • hozzáadott hibakereső képesség keresztül CHPL_LAUNCHER_DEBUG tartani tmp fájlokat körül
  • kitakarította kimenetet megszabadulni néhány felesleges nyomtatás
  • tett launcher támogatást a tesztelési rendszer
  • hozzá --walltime és --queue zászlók launcher alternatívájaként az ENV. Vars.
  • Compiler Változások
  • tette a fordító print "true" / "false" out típusú aláírások helyett 1/0
  • hozzáadott config param "noRefCount" letiltani referencia számlálás (szivároghat memória)
  • Compiler Flags
  • hozzá a --print-callstack-on-error flag megmutatni, hogy mi vezetett a rossz hívás
  • hozzá a -no-CODEGEN zászlót, hogy kihagyja a kódot generációs és összekötő szakasza
  • Az interoperabilitás Változások
  • hozzáadott támogatása extern C & quot; osztályok & quot; (Pointer-to-struct típus)
  • hozzáadott támogatása extern consts (lásd README.extern)
  • Hibaüzenet Fejlesztések
  • Figyelmeztető árva "használat" nyilatkozatai kívül kijelentette modulok
  • (pl "használja M1; modul M2 {}" tipikusan "modul M2 {használata M1;})
  • tett parse-time hibaüzenet a szabványos "fájlnév: lineno:" format
  • hibaüzenetet generált hivatkozhatunk olyan osztály neve egy általános módszert
  • (pl 'class C {def cm-es () {...}}' most hibaüzenetet generál)
  • Hibajavítások / New szemantikus Ellenőrzések (régi szemantika)
  • megakadályozta config típusú attól, hogy beállítása a végrehajtási idő parancssori zászlók
  • fix a fordító is képes kezelni, a szakszervezetek nélkül mezők
  • rögzítette a minloc / maxloc csökkentések kezelni üres tartományok / részintervallumokat értékek
  • Javítva egy hiba, amely a "pálya" érv, hogy a fájl konstruktőrök figyelmen kívül hagyták
  • üríteni szakszervezetek működnek megfelelően
  • rögzített egy túlfolyó kérdés dobogó fel tartományok elosztó / párhuzamosítást
  • Javítva egy hiba járó támogatást üres extern bejegyzéstípusokat
  • Javítva egy hiba járó extern visszatérő függvények bejegyzések
  • Javítva egy hiba kapcsolatos másol külső rekordot
  • fix végrehajtása +/- szereplők asszociatív / gyér domain
  • Javítva egy hiba kapcsolatos fájlnév-alapú modul nevét tartalmazó többszörös ". Által
  • hozzáadott hibaüzeneteket expand / külső / belső szabálytalan domain
  • hozzá egy hibát konstruktőrök / destruktor a megadott visszatérési típus
  • rögzített egy pár hibát vonatkozó "gyors" optimalizálás
  • hozzá egy csekket ellen építése osztályok meghatározása nélkül generikus mezők
  • Csomagolás Változások
  • hozzáadott szintaxis kiemelő kódot GNU forrás-highlight
  • (lásd etc / forrás-highlight / README)
  • javult emacs színezés támogatása verzió 22.x
  • (lásd etc / emacs / README)
  • frissítésekről vim szintaxis az újabb "proc" / "ITER kulcsszavak
  • (lásd etc / vim / README)
  • hozzá egy script átalakítására meglévő kódok használata "def", hogy "ITER '/' proc '
  • (lásd $ CHPL_HOME / util / convert-defs)
  • távolítani multirealm példák és dokumentáció egyelőre
  • külső szoftverfejlesztők Változások
  • frissítve GASNet verzióra 1.16.1
  • hozzáadott példányban BSC Nanos ++ és Sandia a Qthreads
  • (lásd harmadik fél / README)
  • tett egy post-install lépést GASNet amely megváltoztatja abszolút elérési útját relatív
  • távolítani PVM egyelőre instabilitás miatti
  • Runtime Library Változások
  • hozzá egyetlen locale feladat rétegek számára Nanos ++ (BSC) és Qthreads (Sandia)
  • több fejlesztést a futási tasking réteg:
  • hozzáadott egy új felület, amiért a tasking réteg hívás chpl_main ()
  • változott tasking init függvény, hogy maxThreadsPerLocale / callStackSize args
  • hozzá egy feladat hozamot képes a feladat ellátására réteg felületén
  • javult runtime-kód használatának elkerülésére sync vars előtt inicializálása task
  • távolítani makro-esített forma tasking felület; szabványos nevek helyett
  • egységes elnevezési összes feladat réteg rutinok chpl_sync _ * () és chpl_task _ * ()
  • távolítani a követelmény, hogy hajtsák végre az egységes változó interface
  • költözött megszűnése szálat a FIFO tasking réteg pthreads threading
  • egyszerűsített végrehajtását sync változók a pthread threading réteg
  • költözött felelősséget szál számít honnan FIFO tasking hogy pthread threading
  • több fejlesztést a futási kommunikációs réteg:
  • átalakította a kommunikációs interfészt támogató hossz / típus érvek
  • hozzá egy interfész nem blokkoló kap műveletek a kommunikációs. interface
  • egységes összes távoli kap műveletek használni CHPL_COMM_GET () makró
  • refactored / átnevezték kommunikációs felület fejléc
  • Testing System
  • jelentősen javult a teljesítmény tesztelés és grafikus képességekkel
  • (lásd kommentek elején start_test dokumentációhoz)
  • javult a vizsgálati rendszer támogatja tisztítás után önmagában
  • hozzáadott képes, hogy ne használjon semmilyen indirekciónak az stdin
  • hozzá egy lehetőséget, hogy egy egész rendszerre kiterjedő prediff lehetőség
  • hozzáadott képes használni a launcher natív timeout funkció helyett Python
  • javult, hogy a vizsgáztató rendszer megöl egy tesztet, amely esetből
  • Javítva egy hiba, amely .preexec fájlokat csak dolgozott, ha "." volt, ami a pálya
  • Belső
  • hozzá a --break-on-id fordító zászlót a fejlesztők számára, hogy keresse AST node teremt
  • szervezésének javítása util / könyvtár tartalma
  • megváltoztatta a verziószámok számítjuk / jelenik SVN-alapú felhasználók
  • hozzáadott támogatása feladat- / thread-specifikus modul kódját
  • hozzá a képessége, hogy nyomtassa ki a AST számít között megosztani minden menetben
  • hozzáadott egy új gdb alias meg lefordítani --gdb: "Loc" kinyomtat egy AST csomópont helyét
  • jelentősen javult végrehajtása pragmák / zászlók elkerülése előfordult hibák
  • távolítani több esetben felesleges karakterlánc összehasonlításokat a fordító
  • távolítani hibalehetőséget használata CHPL_TASKS és CHPL_THREADS mint preprocessor szimbólumok
  • hozzáadott bestPractices dokumentációját fejlesztők (nem szerepel a kiadás)
  • megváltoztatta belső munging az '=' és a '==' a 'ASSIGN "és" Egyenlõ "rendre
  • hozzá a --print-id-on-error fejlesztő zászló nyomtatni AST ID hibákra
  • javult a szigorú C ++ prototípus ellenőrzése
  • hozzáadott külső közreműködő megállapodások az SVN-fa (nem a kiadás)
  • hozzá a fogalom belső által használt típusokat a fordító, de nem a felhasználó

Hasonló program

nwcc
nwcc

11 May 15

pyPEG
pyPEG

14 Apr 15

Adobe Alchemy
Adobe Alchemy

3 Jun 15

pkg-config
pkg-config

18 Feb 15

Hozzászólások a Chapel

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!