Chapel

Programinė įranga Screenshot:
Chapel
Programinė detalės:
Versija: 1.3.0 Pre-Alpha
Įkėlimo datą: 11 May 15
Kūrėjas: Cray Inc.
Licencija: Nemokamai
Populiarumas: 12

Rating: nan/5 (Total Votes: 0)

koplyčia yra naujas lygiagrečiai programavimo kalba kuriama Cray Inc. kaip dalis DARPA vadovaujamos Didelis našumas kompiuterinių sistemų programą (HPCS). Koplyčia yra skirta pagerinti high-end kompiuterių vartotojams produktyvumą, o taip pat tarnauja kaip nešiojamas lygiagrečiai programavimo modelis, kuris gali būti naudojamas prekių grupių ar darbastalio daugiagysliai sistemas. Koplyčia siekia žymiai pagerinti didelio masto lygiagrečių kompiuterių programuojamas sulyginant ar plaka našumą ir perkeliamumą dabartiniu programavimo modelių, tokių kaip MPI.
Koplyčia App palaiko daugiasrautį vykdymo modelį per aukšto lygio abstrakcijos duomenų lygiagretumo, užduočių lygiagretumo, lygiagretumą, ir įdėtos lygiagretumo. & Nbsp; koplyčios lokalės tipas leidžia vartotojams nustatyti ir priežastis, apie duomenų ir uždavinių išdėstymas ant taikinio struktūrą siekiant sureguliuoti pagal vietovę. Koplyčia palaiko pasaulinio peržiūrėti duomenų agregatus su vartotojo apibrėžta diegimas, leidžiantis operacijas platinamų duomenų struktūros turi būti išreikšta natūraliu būdu. Skirtingai daugelyje ankstesnių aukštesnio lygio lygiagrečiai kalbomis, koplyčia skirta aplink DAUGIAPAKOPĖ filosofija, leidžianti vartotojams iš pradžių parašyti labai abstraktus kodą ir tada palaipsniui pridėti daugiau informacijos, kol jie yra taip arti prie mašinos, nes jų poreikiai reikalauja. Koplyčia palaiko kodas pakartotinio naudojimo ir prototipų elektroniniu Objektinis projektavimas, tipo išvesties ir funkcijos generinių programavimą.
Koplyčia buvo sukurta iš pirmųjų principų, o ne Esamo kalbą išplėsti. Tai būtina blokas struktūruotas kalba, sukurta būti lengva išmokti vartotojams C, C ++, Fortran, Java, Perl, Matlab ir kitų populiarių kalbų. Nors koplyčia remiasi sąvokomis ir sintaksės iš daugelio ankstesnių kalbų, jos lygiagrečiai funkcijos yra labiausiai tiesiogiai įtakoja ZPL, aukštos kokybės Fortran (HPF) ir Cray MTA & trade / Cray XMT & prekyboje; plėtiniai C ir Fortran

Kas naujo , šioje laidoje.

  • Svarbiausi (žr informaciją);
  • Split "Def" Raktažodžių į "PROC" (procedūras) ir "ITER" (už iteratory)
  • (žr '$ CHPL_HOME / util / konvertuoti-DEFS help' pagalbos atnaujinančio esamus kodus);
  • pridūrė "replikuojami" platinimas ir patobulinta "Blokuoti-Ciklinis skirstymas;
  • (žr & quot; Standartas skirstiniai & quot; spec ir pavyzdžiai / gruntus / distributions.chpl);
  • pridūrė vieno lokalės užduočių sluoksnius už Nanos ++ (BSC) ir Qthreads (Sandia)
  • (žr doc / README.tasks)
  • pagrindinis pertvarkyti nuotolio semantikos ir įgyvendinimo;
  • (žr & quot; semantiniai pokyčiai / pokyčiai Chapel kalbos & quot; toliau aprašymą);
  • pradinę paramą lakiųjų tipų: bool, int, UINT, nekilnojamojo, IMAG
  • (žr doc / technotes / README.volatile)
  • parama eksternu consts ir klases (rodykles-to-structs)
  • (žr doc / technotes / README.extern)
  • pagerėjo parama duomenų lygiagretumo ant Cray XMT
  • platus patobulinimai atrankinių kodų pavyzdžiai / katalogą,
  • (žr "Pavyzdys kodai 'žemiau ir pavyzdžiai / README)
  • pridūrė dauguma kodas pavyzdžius iš spec į naują pavyzdžiai / katalogą,
  • (žr Pavyzdžiai / spec / *)
  • pridėjo Techninė pastaba aprašant vartotojo apibrėžtas domeno žemėlapį sąsaja;
  • (žr doc / technotes / README.dsi)
  • platus atnaujinimus kalbos specifikacijos;
  • (žr "dokumentacija");
  • keletas patobulinimų runtime užduočių atlikimas ir ryšių sluoksniai;
  • (žr & quot; Runtime Library pokyčiai & quot; toliau);
  • Sintaktinės / Pavadinimų pokyčiai;
  • Split "Def" Raktažodžių į "PROC" (procedūras) ir "ITER" (už iteratory)
  • (žr '$ CHPL_HOME / util / konvertuoti-DEFS help' pagalbos atnaujinančio esamus kodus);
  • pervadintas "aritmetinis" Domains / matricas į "stačiakampiai" domenai / matricas;
  • papildoma parama slankiojo kablelio literał į formą "1.E ..."
  • (anksčiau tik "1e ..." ir "1.0e ..." buvo palaikoma),
  • semantiniai pokyčiai / pokyčiai Chapel kalba;
  • keli patobulinimai svyruoja (žr "diapazonai" skyrius kalbos spec): "
  • pridėjo suderinimo koncepcija nurodyti lygiavimo modulo | Stride | "
  • papildė "lygiavimą" operatorius ir užklausa svyruoja nurodyti / užklausos derinimą;
  • (pvz "1..10 iki 3 align 2 '= & gt;" 2, 5, 8', nes 2 == == 5 8, mod 3)
  • apibrėžta == į intervalus, kalbant apie sveikomis sekų jie sukuria,
  • apibrėžta ident (R1, R2) pasakyti, ar R1 ir R2 yra semantiškai tapatūs;
  • apibrėžta "# k" už K & lt; 0, kaip apibrėžta & quot; skaičius nuo diapazone & quot pabaigos;
  • pridūrė pirmasis "',' paskutinis ',' alignedLow," alignedHigh 'metodai svyruoja
  • (pvz "1..10 iki -2 '= & gt; pirmas == 10, paskutinis == 2, alignedLow = 2, alignedHigh = 10),
  • papildoma parama už naujų asortimentas užklausos įvairias funkcijas
  • (pvz alignLow (), hasFirst (), hasLowBound (), isAligned (), boundsCheck () ...);
  • papildoma parama lakiųjų bool, int, UINT, nekilnojamojo ir Imag tipų
  • (žr doc / technotes / README.volatile)
  • pridėjo pabaiga-of-failą čekį į failo tipą,
  • (e.g., "O! Infile.eof ...");
  • pašalintos remti gydyti "grąžinimas" į iteratoriaus kaip "derlius"
  • (pvz pokyčiai "ITER rūšys () {grąža X;}" į "iter foo () {derlius X; grąžinimą;});
  • papildoma parama, kad nuorodų modulių be pirmojo "use'-mas juos
  • (pvz modulis P1 {var x ...} modulis M2 {... M1.x ...} dabar juridinis),
  • pridėjo callStackSize užklausą lokalės tipą
  • (pvz "here.callStackSize" grįžta skambučių kamino dydį nuo dabartinio lokalės)
  • pašalinti anksčiau, reikalingą kabliataškį nuo ENUM deklaracijų pabaigos
  • (pvz "ENUM spalvos {raudona, mėlyna, žalia} 'dabar teisinė; anksčiau reikėjo"; ");
  • papildoma parama už vieną galiniu kableliu ne iš ENUM sąrašus pabaigos
  • (pvz "ENUM spalvos {raudona, mėlyna, žalia,} 'dabar juridinis),
  • nuimti paramą +/- operatoriams stačiakampių domenų; naudoti Versti ();
  • Naujai Įgyvendinami Įranga,
  • įgyvendinama == /! = Už stačiakampio, Association, ir retais srityse;
  • Paprastas paskirstymas;
  • pridėjo "pakartotas platinimo pirmą projektą saugoti duomenis nereikalingai
  • (žr Pavyzdžiai / gruntus / distributions.chpl)
  • patobulinta "Blokuoti-Ciklinis", pakanka tinkamai įgyvendinti HPCC PTRANS ir HPL,
  • (žr pavyzdžiai / hpcc / ptrans.chpl, hpl.chpl; pavyzdžiai / gruntai / distributions.chpl)
  • ištrintas išeiti iš darbo specifikacija lyderis iteratory tarp Domains / matricas;
  • Standartiniai moduliai;
  • pridūrė INFINITY ir nan konstantas į Math.chpl modulio;
  • (žr "Matematika" pagal & quot; standartinių modulių & quot; kalbų spec),
  • pridūrė isinf () ir isfinite () bandymų kasdienybe į Math.chpl modulio;
  • (žr "Matematika" pagal & quot; standartinių modulių & quot; kalbų spec),
  • pridūrė pusė tuzino daugiau kasdienybe į GMP.chpl modulio;
  • Dokumentacija
  • pridėjo naują techninę pastabą aprašant vartotojo apibrėžtas domeno žemėlapį sąsaja;
  • (žr doc / technotes / README.dsi)
  • padaryta daug patobulinimų į kalbos specifikacijos;
  • Pagrindiniai pataisymai Domenai skyriuje pagerinti aiškumą / tikslumas;
  • pagerėjo ir vieninga struktūra pažyma ir klasių skyriai
  • Pagrindiniai pakeitimai domeno Maps skyriuje aiškesnis / tikslumas
  • pavadintas pavyzdys kodai pateikti kryžminę nuorodą į pavyzdžiais / Spec / programas;
  • patikslino etiketės / pertraukos teisėtumą / toliau lygiagrečiai kilpų;
  • atnaujino skaityti [LN] / Rašyti [LN]
  • aprašymai
  • fiksuoto keletas failų sričių problemos užsakymas "
  • performatuoti specifikacija kaip "knyga" latekso
  • įvairūs smulkūs pataisymai iš rašybos klaidų /
  • tikslesniais apibrėžimais / aprašymai kelių sąlygų,
  • pridėjo dokumentus locale.name
  • ir daugelis kitų pakeitimų ...
  • atnaujinama Quick Reference dokumentą įtraukti def- & gt; proc / ITER kaita, suderinti op
  • .
  • perrašytas / reorganizuota README.extern paaiškinti paaiškinimus ir auklėti-to-data,
  • pridėjo README apibūdinančią "vietos" pareiškimą (dok / technotes / README.local)
  • pridėjo README aprašoma lakiųjų tipai (dok / technotes / README.volatile)
  • Atnaujinta README.comm diagnostikos paminėti greitai šakių statistikos
  • Atnaujinta įvairių README failai,
  • Pavyzdys kodai;
  • dedamas dauguma kodas pavyzdžius iš kalbos spec. į naują spec / pakatalogį,
  • pagerino gruntai / katalogas:
  • pridėjo naują gruntą naudojant procedūras (gruntai / procedures.chpl)
  • pridėjo pagrindinę gruntas domenų (gruntai / domains.chpl)
  • pervadintas aplinka gruntas locales.chpl ir pagerino ją;
  • pagerino skirstiniai gruntą ir pridūrė, blokinis Cikliniai ir pakartotas naudojimas;
  • atnaujinamas asortimentas gruntas (gruntai / range.chpl)
  • pagerino iteratory gruntas (gruntai / iterators.chpl)
  • pagerino sumažinimai gruntas (gruntai / reductions.chpl)
  • pridėta getCurrentTime (), kad laikmačius gruntas (gruntai / timers.chpl)
  • pridūrė aprašymus tipo slapyvardžiai ir konfigūracijos tipų kintamųjų gruntas
  • (žr pradmenis / variables.chpl)
  • pagerino hpcc / etalonai katalogas
  • pridūrė pirmąją versiją HPCC PTRANS į hpcc / katalogą (ptrans.chpl)
  • pridūrė švaresnis versiją HPCC HPL į hpcc / katalogą (hpl.chpl)
  • pridėjo variantai / pakatalogį pavyzdžius / hpcc eksponuoti kitų požiūrius;
  • pridūrė Stream promoted.chpl parodyti naudoti skatinimo pasaulio STREAM Triad
  • pridūrė RA-cleanloop.chpl parodyti siurblys (bet šiuo metu lėčiau) rojaus branduolys;
  • pagerino aukščiausio lygio pavyzdžiai: "
  • pervadintas esamų & quot; Sveikas, pasauli & quot; pavyzdžiai rodo, loginį skaitymo tvarka;
  • (žr pavyzdžiai / Hello * .chpl)
  • pridūrė duomenis lygiagrečių ir paskirstytų lygiagrečiųjų duomenų Hello, World pavyzdžius;
  • (žr pavyzdžiai / hello3-datapar.chpl pavyzdžiai / hello4-datapar-dist.chpl)
  • pridūrė komentarus įvairių Hello, World pavyzdžiai (pavyzdžiai / Hello * .chpl)
  • atnaujinama visas pavyzdžių Vartojama kalba semantiką;
  • naudoti "proc" / "ITER", o ne "Def"
  • Atnaujinti atspindėti naują seriją semantiką;
  • Platformos konkrečios pastabos,
  • už Cray XT / Cray XE, pagerino aprun ir PBS-aprun paleidimo,
  • (žr & quot; paleidimo specifinių pastabos & quot; toliau);
  • už Cray XMT, papildoma parama lygiagrečių linijų per svyruoja
  • už Cray XMT, pridūrė kartos noalias Pragmas į forall ciklo kintamųjų;
  • papildoma parama BPK Marenostrum įskaitant docs ir specialaus paleidimo
  • (žr doc / platformos / README.marenostrum)
  • launcher konkrečios pastabos,
  • pridūrė leidimo įrenginių konkrečių variantų help pajėgumus;
  • pagerino sklidimas išeiti būsenos kodų per paleidimo,
  • pasikeitė paleidimo remti Exec pagrindu (o ne sistemos pagrindu) komandos;
  • padarė paleidimo naudoti "atsieti", o ne sistemos ("rm") pašalinti laikinuosius failus,
  • pridėjo paleidimo BSC anketa Marenostrum
  • sumažintas skaičius laikinų failų naudojamos fiksuoti išvestį "sistema" komandos
  • aprun paleidimo patobulinimai: "
  • pridėjo --cc vėliava nurodyti procesoriaus užduotį W / į mazgą;
  • pridėjo-q vėliava paleisti režimu ramioje paleidimo,
  • pridūrė derinimo galimybes per CHPL_LAUNCHER_DEBUG išlaikyti tmp failus aplink
  • PBS-aprun paleidimo patobulinimai: "
  • pridėjo --cc vėliava nurodyti procesoriaus užduotį W / į mazgą;
  • pridūrė derinimo galimybes per CHPL_LAUNCHER_DEBUG išlaikyti tmp failus aplink
  • išvalyti produkcijos atsikratyti kai pašalinių spauda, ​​
  • padarė paleidimo paremti mūsų testavimo sistema;
  • pridūrė --walltime ir --queue vėliavomis paleidimo kaip alternatyva ENV. Vars.
  • Kompiliatorius pokyčiai;
  • padarė sudarytojas spausdinti "tiesa" / "klaidingą" iš tipo parašų, o ne 1/0
  • pridūrė konfigūracijos param "noRefCount" išjungti atskaitos skaičiavimo (gali ištekėti atmintį),
  • kompiliatoriaus vėliavėles,
  • pridėjo --print-callstack-on-klaidos vėliava parodyti, kas lėmė bloga skambučio
  • pridėjo --no-Codegen vėliava praleisti kodų generavimas ir susiejimas etapą;
  • sąveikos pokyčiai;
  • papildoma parama eksternu C & quot; užsiėmimai & quot; (Žymeklis-to-struct tipai);
  • papildoma parama eksternu consts (žr README.extern)
  • Klaidos pranešimas patobulinimai;
  • pridūrė įspėjimas našlaičiais "naudojimas" pareiškimus lauko deklaruotų modulių;
  • (pvz "naudoti M1; M2 modulis {}" turėtų paprastai būti "modulis M2 {naudojimas P1;});
  • padarė parse laiko klaidos pranešimas naudoti standartinę "Filename: Lineno:" formato "
  • generuoja klaidos pranešimą nuorodoms į klasės pavadinimo pirminis metodas;
  • (pvz: "C klasės {Def cm () {...}} 'dabar generuoja klaidos pranešimą);
  • pataisymai / New Semantinės Patikrinimai (senų semantikos),
  • neleido config tipų gražu nustatyti naudojant įvykdymo laikas komandų eilutės vėliavas,
  • fiksuotas sudarytojas gebėjimą įveikti sąjungas be srityse;
  • nustatė minloc / maxloc sumažinti tvarkyti tuščias diapazonai / diapazonuose vertybių;
  • Ištaisyta klaida, kurioje buvo ignoruojami "Kelias" argumentas failų konstruktorių;
  • tapo tušti sąjungos veiktų tinkamai,
  • fiksuotas Parmos klausimą atplaiša iki diapazonai platinimo / lygiagretinimo
  • Ištaisyta klaida, įtraukiant paramą tuščių eksternu įrašų tipų
  • Ištaisyta klaida, numatančią eksternu funkcijas, grąžinti įrašus,
  • Ištaisyta klaida, susijusi su kopijavimo išorės įrašus,
  • fiksuotas įgyvendinimas +/- operatoriams Association / išretintus domenai,
  • Ištaisyta klaida, susijusi su filename pagrindu modulio vardų, kuriuos sudaro keletas "-aisiais.
  • pridūrė klaidų pranešimai, skirti išplėsti / eksterjero / interjero dėl netaisyklingos srityse;
  • pridūrė klaidą dėl konstruktorių / destruktoriai su nurodytu grįžtamasis;
  • nustatė klaidų, susijusių su pora "greitas" optimizavimas
  • pridėjo prieš statant klases čekį nenurodant generinių laukus,
  • Pakavimo pokyčiai;
  • pridūrė sintaksės žymėjimą kodą GNU šaltinio išryškinti
  • (žr etc / šaltinio paryškinimo / README)
  • patobulintos Emacs dažymas paramą versija 22.x
  • (žr etc / emacs / README)
  • atnaujinimus vim sintaksės spalvinimas atspindėti naują "PROC" / "ITER" raktiniai žodžiai "
  • (žr etc / vim / README)
  • pridėjo scenarijų konvertuoti turimus kodeksus "naudoti" def "į" iter "/" PROC "
  • (žr $ CHPL_HOME / util / konvertuoti-DEFS)
  • pašalintos multirealm pavyzdžiai ir dokumentai, šiuo metu "
  • Trečiosios šalies programinė įranga keitimai
  • atnaujinama GASNet versija 1.16.1;
  • pridėjo kopijas BPK Nanos ++ ir Sandia anketa Qthreads
  • (žr trečiosios šalies / README)
  • padarė po įdiegti žingsnį GASNet kad pokyčiai absoliučius kelius santykinę
  • ištrintas PVM šiuo metu dėl jų nestabilumo;
  • Runtime Library pokyčiai;
  • pridūrė vieno lokalės užduočių sluoksnius už Nanos ++ (BSC) ir Qthreads (Sandia)
  • keletas patobulinimų Runtime užduotis layer: "
  • pridėjo naują sąsają turintys užduotis sluoksnis skambučio chpl_main ();
  • pasikeitė užduotis paleidimo funkciją imtis maxThreadsPerLocale / callStackSize args
  • pridėjo užduotis derlius pajėgumus į užduotis sluoksnio sąsaja;
  • pagerino Runtime kodas išvengti naudojant sinchronizavimo vars prieš inicijuojant užduotis;
  • ištrintas makro-izuoti forma užduotis sąsają; naudojant standartinius pavadinimus, o "
  • vieningą pavadinimų visų uždavinys sluoksnio kasdienybe chpl_sync _ * () ir chpl_task _ * (),
  • ištrintas reikalavimas įgyvendinti vieną kintamąjį sąsaja;
  • persikėlė nutraukimas siūlų iš FIFO užduotis sluoksniu pthreads sriegių sriegimo,
  • sinchronizavimo kintamųjų supaprastintas įgyvendinimas pthread sriegimo sluoksniu;
  • persikėlė atsakomybę už siūlų skaičiaus iš FIFO užduočių atlikimas, siekiant pthread sriegimo
  • keletas patobulinimų Runtime komunikacijos layer: "
  • pertvarkė ryšių sąsaja remti ilgis / tipo argumentus,
  • pridūrė sąsaja ne blokuoti gauti operacijas į comm. sąsaja;
  • vieningą visos nuotolinio gauti operacijas naudoti CHPL_COMM_GET () makro
  • išimant / pervadintas ryšio sąsaja antraštes,
  • testavimo sistema;
  • žymiai pagerino ir eksploatacinių charakteristikų bandymai grafikų galimybes;
  • (žr komentarus apie start_test už dokumentus priekyje),
  • pagerino Testing System paramą valymo po save
  • pridėta galimybė išvengti naudojant bet STDIN Netiesiogiai,
  • pridėta galimybė pateikti visos sistemos prediff variantą;
  • pridėjo galimybę naudotis paleidimo gimtąjį skirtojo laiko funkciją, o ne Python
  • pagerėjo kaip testavimo sistema žudo testą, kad laikai iš
  • Ištaisyta klaida, kurioje .preexec failai tik dirbo, jei ". buvo jūsų kelyje;
  • Vidaus
  • pridėjo --break-su-id kompiliatoriaus vėliava kūrėjams rasti Asta mazgas sukuria
  • pagerino organizavimas util / Rodyklės turinį;
  • pakeitė versija numeriai apskaičiuojami / rodomas SVN pagrindu vartotojų
  • papildoma parama task- / Temą konkrečios modulio kodas,
  • pridėjo galimybę spausdinti AST kiekį paskirstytos tarp kiekvieno perdavimo;
  • pridėjo naują gdb alias sudarytojas --gdb: "Loc" atspausdina AST mazgas vietą
  • pagyvėjo įgyvendinimas Pragmas / vėliavų, kad būtų išvengta klaidų atvejai,
  • pašalinta keletas atvejų, nereikalingų styginių lyginimus sudarytojas;
  • pašalinti klaidų tikimybė naudojimas CHPL_TASKS ir CHPL_THREADS kaip preprocesoriaus simboliais "
  • pridūrė bestPractices dokumentus kūrėjams (neįeina į išleidimo)
  • pakeistas vidaus munging iš '=' ir '== "į" priskirti ", o" lygu "atitinkamai"
  • pridėjo --print id-on-klaidos kūrėjas vėliava spausdinti AST ID apie klaidas
  • pagerino C ++ prototipo griežtumą tikrinimo;
  • pridūrė išorės prisideda susitarimus SVN medžio (ne spaudai)
  • pridėjo vidaus tipų naudojamų kompiliatorius sąvoką, bet ne vartotojas,

Panaši programinė įranga

bf
bf

2 Jun 15

Polyglot
Polyglot

2 Jun 15

LavaPE
LavaPE

20 Feb 15

PL/1 for GCC
PL/1 for GCC

2 Jun 15

Komentarai Chapel

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!