Chapel

Software screenshot:
Chapel
Software ətraflı:
Version: 1.3.0 Pre-Alpha
Tarixi Upload: 11 May 15
Geliştirici: Cray Inc.
Lisenziya: Pulsuz
Məşhurluq: 68

Rating: 2.0/5 (Total Votes: 1)

Chapel DARPA-nun yüksək Məhsuldarlıq Computing Systems proqramı (HPCS) bir hissəsi kimi Cray Inc tərəfindən hazırlanmış olan yeni bir paralel proqramlaşdırma dilidir. Chapel də əmtəə qruplar və ya masa üstü ölçüde sistemi istifadə edilə bilər ki, portativ paralel proqramlaşdırma model kimi xidmət isə yüksək-end kompüter istifadəçilərinin məhsuldarlığı yaxşılaşdırmaq üçün nəzərdə tutulmuşdur. Chapel uyğun və ya MPI kimi cari proqramlaşdırma modelləri performans və Taşınabilir məğlub isə vastly genişmiqyaslı paralel kompüter programmability yaxşılaşdırılması üçün çalışır.
. Chapel app data paralellik, vəzifəsi paralellik, concurrency və nested paralellik & nbsp yüksək səviyyəli abstractions vasitəsilə çoklu icra model dəstəkləyir; Chapel yerli növü istifadəçi müəyyən və qaydada bir hədəf memarlıq məlumat və vəzifələri yerləşdirilməsi haqqında səbəb imkan verir mövqeyində üçün tənzimləmək üçün. Chapel təbii şəkildə ifadə paylandı data strukturları əməliyyatları icazə istifadəçi müəyyən applications qlobal-view data aqreqatlar dəstəkləyir. Çox əvvəlki yüksək səviyyəli paralel dillərdə fərqli olaraq, Chapel əvvəlcə çox mücərrəd kod yazmaq üçün istifadəçi imkan, multiresolution fəlsəfə ətrafında nəzərdə tutulmuşdur və onların ehtiyacları tələb kimi onlar maşın kimi yaxın qədər sonra tədricən daha ətraflı əlavə olunur. Chapel ümumi proqramlaşdırma üçün obyekt-yönümlü dizayn, növü nəticəçıxarma və xüsusiyyətləri vasitəsilə code təkrar və sürətli prototip dəstəkləyir.
Chapel ilk prinsiplərindən daha çox mövcud dil uzadaraq tərəfindən tərtib edilib. Bu C, C ++, Fortran, Java, Perl, Mətləb, və digər məşhur Dil istifadəçilər üçün öyrənmək üçün asan üçün nəzərdə tutulmuşdur bir vacib blok strukturlaşdırılmış dilidir. / Cray XMT və ticarət; Chapel çox əvvəlki Dil anlayışlar və sintaksis əsaslanır olsa da, onun paralel xüsusiyyətləri birbaşa ZPL, High-Performance Fortran (HPF) və Cray MTA və ticarət təsir edir; C və Fortran üçün uzantıları

Bu azad Yeni nədir.

  • Highlights (ətraflı məlumat üçün aşağıya baxın)
  • split "dəf" (prosedurları üçün) proc daxil söz və (Iterators üçün) iter '
  • (bax '$ CHPL_HOME / util / çevirmək-defs help mövcud kodları yenilənməsi kömək)
  • əlavə "təkrar" paylama və təkmilləşdirilmiş "Blok-Halkalı 'paylama
  • (bax & quot; Standard Distributions & quot; spec və nümunələr / astar / distributions.chpl ilə)
  • Nanos ++ (BSC) və Qthreads (Sandia)
  • üçün tək yerli tapşırıq qat əlavə
  • (doc / README.tasks bax)
  • üçündür semantika və həyata keçirilməsi əsas yenidən işlənməsi
  • (bax & quot; semantik dəyişiklikləri / Chapel Dil olarak dəyişikliklər aşağıda ətraflı)
  • uçucu növləri üçün ilkin dəstək: bool, int, uint, real, iMag
  • (bax doc / technotes / README.volatile)
  • extern consts və siniflər üçün dəstək (göstəricilərinə-to-structs)
  • (bax doc / technotes / README.extern)
  • Cray XMT haqqında məlumat paralellik üçün təkmilləşdirilmiş dəstək
  • nümunələri / kataloq nümunə kodları geniş təkmilləşdirilməsi
  • (aşağıda 'Nümunə kodları və nümunələr / README bax)
  • Yeni nümunələri / qovluğuna spec ən kod nümunələri əlavə
  • (misal / spec / * bax)
  • istifadəçi müəyyən domain xəritə interfeysi izah texniki qeyd əlavə
  • (bax doc / technotes / README.dsi)
  • dil dəqiqləşdirilməsi geniş yenilikləri
  • (aşağıda 'Documentation "bax)
  • neçə uzunluğu tasking təkmilləşdirilməsi və rabitə qat
  • (bax & quot; Runtime Kitabxana dəyişikliklər & quot; aşağıda)
  • sintaktik / dəyişikliklər Adlandırma
  • split "dəf" (prosedurları üçün) proc daxil söz və (Iterators üçün) iter '
  • (bax '$ CHPL_HOME / util / çevirmək-defs help mövcud kodları yenilənməsi kömək)
  • adlandırılmışdır "hesab" domains / Diziler üçün düzbucaqlı domains / seriallarda
  • forma baxımından literator üzən üçün əlavə dəstək "1.e ..."
  • (əvvəllər yalnız "1e ..." və "1.0E ... dəstəklənib)
  • semantik dəyişiklikləri / Chapel Dil dəyişikliklər
  • aralıklarının bir neçə təkmilləşdirilməsi (bax "çeşidləmə dilində spec fəsil):
  • bir qruplaşma modulo göstərir alignment bir anlayış əlavə | adım |
  • / sorğu alignment müəyyən etmək aralıklarının üçün "align" operatoru və sorğu əlavə
  • (məsələn, = & gt "1..10 2 align 3 ';' 2, 5, 8 '2 == 5 == 8 mod 3 ildən)

  • Onlar yaratmaq tam ardıcıllığı baxımından silsilələri
  • müəyyən ==
  • müəyyən ident (R1, R2) R1 və R2 semantically eyni
  • olub demək
  • K & lt '# k "müəyyən; Məna olarak kimi 0
  • ; sıra & quot sonunda saymaq
  • 'ilk' 'son', 'alignedLow,' aralıklarının alignedHigh "üsulları əlavə
  • (məsələn, tərəfindən -2 1..10 '= & gt; ilk == 10, keçən == 2 alignedLow = 2 alignedHigh = 10)
  • Yeni sıra sorğu funksiyaları bir sıra
  • üçün əlavə dəstək
  • (məsələn, alignLow () hasFirst () hasLowBound () isAligned () boundsCheck () ...)
  • uçucu bool, int, uint, real və iMag növləri üçün dəstək əlavə
  • (bax doc / technotes / README.volatile)
  • fayl növü üçün son-of-fayl çek əlavə
  • (e.g. "Isə! Infile.eof ... ')
  • a 'gəlir'
  • kimi iterator ildə "geri" müalicə üçün dəstək aradan
  • (məsələn, dəyişiklik "iter foo () {return x;} 'üçün' iter foo () {gəlir x, gəlir;} ')
  • ilk "use'-Ing onları
  • olmadan sened modulları dəstək əlavə
  • (məsələn, modul M1 {var x ...} modul M2 {... M1.x ...} indi hüquqi)
  • Yerli növü üçün callStackSize sorğu əlavə
  • (məsələn, "here.callStackSize cari yerli zəng yığın ölçüsü qaytarır)
  • enum bəyannamələrinin sonunda
  • əvvəllər tələb olunan nöqtəli vergül aradan
  • (əvvəllər ehtiyac məsələn, "enum rəng {qırmızı, mavi, yaşıl} 'İndi hüquqi'; ')
  • enum siyahıları sonunda
  • bir tək arxada vergül üçün əlavə dəstək
  • (məsələn, "enum rəng {qırmızı, mavi, yaşıl,} 'indi hüquqi)
  • düzbucaqlı etki +/- operatorları üçün dəstək aradan; tərcümə istifadə ()
  • Yeni həyata Features
  • həyata == /! = Düzbucaqlı, assosiativ və seyrək alanlar üçün
  • Standard Distributions
  • redundantly məlumatların saxlanılması üçün ilk layihəsi "təkrar" paylanması əlavə
  • (misal / astar / distributions.chpl bax)
  • təkmilləşdirilmiş "Block-Cyclic, düzgün həyata keçirilməsi üçün kifayət qədər HPCC PTRANS və HPL
  • (nümunələri / hpcc / ptrans.chpl, hpl.chpl bax misal / astar / distributions.chpl)
  • domains / seriallarda arasında lider Iterators dəqiqləşdirilməsi xaric redundancy
  • Standard Modules
  • Math.chpl modul INFINITY və NAN sabitləri əlavə
  • (& quot altında 'Math "görmək; Standard Modules & quot; dil spec)
  • isinf () və isfinite () Math.chpl modulu test routines əlavə
  • (& quot altında 'Math "görmək; Standard Modules & quot; dil spec)
  • GMP.chpl modul yarım çox daha routines əlavə
  • Documentation
  • istifadəçi müəyyən domain xəritə interfeysi izah edən yeni texniki qeyd əlavə
  • (bax doc / technotes / README.dsi)
  • dil dəqiqləşdirilməsi üçün bir çox irəliləyişlər

  • Domains fəsil
  • əsas versiyaların yaxşılaşdırılması üçün aydınlıq / dəqiqlik
  • təkmilləşdirilmiş və Records vahid strukturu və Dərslər fəsildən

  • Domain Maps fəsil
  • əsas versiyaların aydınlıq / dəqiqlik
  • yaxşılaşdırılması
  • adına nümunə kodları nümunələri cross-istinad təmin etmək / spec / proqramları
  • paralel loops davam / etiket / fasilə qanuniliyini aydınlıq

  • Oxumaq [ln] / yazmaq [ln] of
  • yenilənir təsviri
  • sifariş fayl sahələrdə bəzi problemlər sabit
  • lateks bir kitab '
  • kimi dəqiqləşdirilməsi biçimlendirildikten
    Hatası / səhvlər
  • müxtəlif kiçik giderir
  • təkmilləşdirilmiş anlayışlar / bir neçə şərtlər təsviri
  • locale.name sənədləşdirilməsi əlavə
  • və bir çox digər dəyişikliklər ...
  • yenilənir tez istinad sənəd def- & gt daxil etmək; proc / iter dəyişiklik, op align
  • .
  • rewrote / README.extern izahatlar aydınlaşdırmaq və gətirmək üçün yenidən təşkil up-to-tarix
  • "yerli" şərh izah README əlavə (doc / technotes / README.local)
  • uçucu növ təsvir README əlavə (doc / technotes / README.volatile)
  • yenilənir README.comm-diaqnostika sürətli çəngəl statistika qeyd etmək
  • satıcı tərəfindən müxtəlif README faylları
  • Məsələn Kodları
  • dil spec ən kod nümunələri yerləşdirilmişdir. yeni spec / alt üçün
  • təkmilləşdirilmiş astar / kataloq
  • qaydalar üçün yeni primer əlavə (astar / procedures.chpl)
  • domenlərin (astar / domains.chpl)
  • üçün əsas primer əlavə
  • yerli locales.chpl üçün astar adını və təkmilləşdirilmiş
  • bölüşdürmələr primer təkmilləşdirilmiş və əlavə Block-Cyclic və təkrar istifadə
  • üçündür primer yenilənib (astar / range.chpl)
  • Iterators primer təkmilləşdirilmiş (astar / iterators.chpl)
  • azaldılması primer təkmilləşdirilmiş (astar / reductions.chpl)
  • timers astar getCurrentTime () əlavə (astar / timers.chpl)
  • dəyişənlərin astar
  • növü takma və config növ təsviri əlavə
  • (astar / variables.chpl bax)
  • təkmilləşdirilmiş hpcc / standartlar kataloq
  • hpcc / kataloq (ptrans.chpl)
  • üçün HPCC PTRANS ilk versiyası əlavə
  • hpcc / kataloq (hpl.chpl)
  • üçün HPCC HPL təmiz versiyası əlavə
  • nümunələri digər yanaşmalar sərgiləmək / hpcc bir variant / alt qovluq əlavə
  • qlobal STREAM TRIAD
  • təşviqi istifadə göstərmək üçün axın-promoted.chpl əlavə
  • təmiz göstərmək üçün ra-cleanloop.chpl əlavə (lakin hal-hazırda yavaş) RA kernel
  • təkmilləşdirilmiş yüksək səviyyəli nümunələri:
  • adını mövcud & quot; hello, dünya & quot; misal məntiqi oxu sifariş təklif
  • (nümunələri görmək / salam * .chpl)
  • paralel və paylanmış data salam paralel məlumatları dünya nümunələri əlavə
  • (nümunələri / hello3-datapar.chpl, misal / hello4-datapar-dist.chpl bax)
  • şərh əlavə müxtəlif hello, dünya nümunələri (misal / salam * .chpl)
  • cari dil semantika bütün nümunələri YENİLƏNİB
  • istifadə edin 'proc' / 'iter "daha çox" dəf "
  • yeniləmə yeni üçündür semantika əks etdirmək üçün
  • Platforma xüsusi Notes

  • Cray XT / Cray XE üçün
  • təkmilləşdirilmiş aprun və PBS-aprun işə
  • (bax & quot; qeydlər & quot Launcher xüsusi aşağıda)

  • Cray XMT üçün
  • silsilələri üzərində paralel loops üçün əlavə dəstək

  • Cray XMT üçün
  • loop dəyişənlər Forall üçün noalias pragmas nəsil əlavə
  • docs və xüsusi başlatma daxil olmaqla, BSC-nin MareNostrum
  • üçün əlavə dəstək
  • (bax doc / platformalar / README.marenostrum)
  • Launcher xüsusi qeydlər
  • qabiliyyəti help başlatma xüsusi variantları əlavə
  • işə vasitəsilə çıxış status kodları təkmilləşdirilmiş təbliği
  • dəstək işə dəyişib exec-based (sistem əsasında deyil,) əmr
  • işə müvəqqəti faylları aradan qaldırılması üçün daha sistemi (rm) çox "bağlantısını istifadə etdi
  • BSC-nin MareNostrum
  • üçün bir başlatma əlavə
  • "sistemi" çıxış tutmaq üçün istifadə müvəqqəti faylları aşağı sayı əmr
  • aprun başlatma təkmilləşdirilməsi:
  • CPU tapşırıq müəyyən etmək üçün bir --cc bayrağı əlavə w / bir node
  • sakit rejimində başlatma çalıştırmak üçün bir q bayrağı əlavə
  • ətrafında tmp faylları saxlamaq üçün CHPL_LAUNCHER_DEBUG vasitəsilə debug imkanı əlavə
  • PBS-aprun başlatma təkmilləşdirilməsi:
  • CPU tapşırıq müəyyən etmək üçün bir --cc bayrağı əlavə w / bir node
  • ətrafında tmp faylları saxlamaq üçün CHPL_LAUNCHER_DEBUG vasitəsilə debug imkanı əlavə
  • təmizlənmiş çıxış bəzi kənar çap qurtarmaq üçün
  • etdi başlatma dəstək bizim test sistemi
  • ENV alternativ kimi başlatma üçün --walltime və --queue bayraqları əlavə edib. Vars.
  • Kompilyator dəyişiklikləri
  • out növü imzaların daha çox 1/0
  • ildə "true '/' saxta 'compiler çap etdi
  • (yaddaş sızma bilər)
  • arayış hesablanması aradan config param "noRefCount" əlavə
  • Kompilyator Flags
  • pis zəng
  • səbəb nə göstərmək üçün --print-callstack-on-səhv bayrağı əlavə
  • kod nəsil və birləşdirən mərhələsi keçmək üçün bir --no-Codegen bayrağı əlavə
  • Əlaqəni dəyişiklikləri

  • Sinifləri & quot;
  • extern C & quot üçün əlavə dəstək; (Pointer-to-struct növləri)
  • extern consts (README.extern bax)
  • üçün əlavə dəstək
  • Error Message təkmilləşdirilməsi
  • xəbərdarlıq elan modulları kənarda istifadə 'ifadələri yetim əlavə
  • (məsələn, "M1 istifadə etmək; modul M2 {} 'adətən" modulu M2 {istifadə M1;}' olmalıdır)
  • etdi analiz vaxt səhv mesajı standart ": lineno: fayl istifadə format
  • əsas metodu bir sinif adı istinad üçün bir səhv baş beledir yaradılan
  • (məsələn, "class C {def Cm () {...}} 'İndi bir səhv baş beledir yaradır)
    (Köhnə semantika üçün)
  • Bug giderir / New Semantik Checks
  • icra vaxt komanda-line bayraqları istifadə edərək müəyyən olan config növləri qarşısını
  • heç bir sahələri ilə ittifaqları idarə etmək compiler qabiliyyətini sabit
  • dəyərlərin boş aralıklarının / subranges idarə minloc / maxloc azaldılması sabit
  • fayl inşaatçılara 'yol' mübahisə rədd olan bir səhv Sabit
  • boş ittifaqları düzgün çalışması etdi
  • paylanması / paralelləşdirilməsi üçün silsilələri qədər chunking bir daşqın məsələ Sabit
  • boş extern rekord növləri üçün dəstək cəlb bir səhv Sabit
  • qeydlər qayıtmaq extern funksiyaları cəlb bir səhv Sabit
  • Xarici qeydlər çıxarmaq ilə bağlı bir səhv Sabit

  • Assosiativ üzrə +/- operatorların
  • Sabit həyata keçirilməsi / seyrək domains
  • neçə "olan fayl-based modul adları ilə bağlı bir səhv Sabit. Nin

  • Qeyri-etki / xarici / daxili genişləndirmək üçün
  • əlavə səhv
  • konstruktorlar üçün bir səhv əlavə / a müəyyən qaytarılması növü ilə destructors
  • optimallaşdırılması "sürətli" ilə bağlı bugs bir cüt sabit
  • generic sahələri göstərmədən dərsləri tikintisi qarşı bir çek əlavə
  • Qablaşdırma dəyişiklikləri
  • GNU mənbə-məqamı
  • üçün sintaksis Vurðulayýcý kodu əlavə
  • (etc / source-məqamı / README bax)
  • version 22.x dəstək boyayıcı təkmilləşdirilmiş emacs
  • (etc / emacs / README bax)
  • vim syntax boyayıcı yenilikləri yeni "proc" əks etdirmək üçün / iter "açar sözlər,
  • (etc / vim / README bax)
  • iter '/' proc '
  • ' üçün 'dəf mövcud kodları "istifadə" konvertasiya üçün bir script əlavə
  • ($ CHPL_HOME / util / çevirmək-defs bax)
    Dəfə
  • qaldırıldı multirealm nümunələri və sənədləşmə olan
  • Üçüncü Tərəf Proqram təminatı dəyişikliklər
  • versiyası 1.16.1 üçün gasnet YENİLƏNİB
  • BSC-nin Nanos ++ və SANDIA nin Qthreads
  • surətləri əlavə
  • (üçüncü / README bax)
  • nisbi
  • üçün mütləq yolları dəyişikliklər gasnet üçün post-quraşdırma addım atdı
  • dəfə qaldırıldı PVM qeyri-sabitlik səbəbiylə olan
  • Runtime Kitabxana dəyişiklikləri
  • Nanos ++ (BSC) və Qthreads (Sandia)
  • üçün tək yerli tapşırıq qat əlavə
  • uzunluğu tasking qat bir neçə təkmilləşdirilməsi:
  • ) (tasking qat zəng chpl_main olan yeni interface əlavə
  • maxThreadsPerLocale / callStackSize args etmək init funksiyası tasking dəyişdi
  • tasking qat interface bir tapşırıq gəlir imkanları əlavə
  • sync istifadə qarşısını almaq üçün təkmilləşdirilmiş uzunluğu code başlatılıyor əvvəl vars tasking
  • interfeysi tasking makro-ized forması aradan; əvəzinə standart adları istifadə

  • Bütün tapşırıq qat routines
  • vahid adlandırma chpl_sync üçün _ * () və chpl_task _ * ()
  • bir dəyişən interfeys həyata qaldırıldı tələb
  • Threading PThreads üçün FIFO tasking qat olan mövzuları hərəkət xitam
  • pthread Threading qat sync dəyişənlərin sadələşdirilmiş həyata keçirilməsi
  • Threading
  • pthread üçün FIFO tasking olan mövzu sayar üçün məsuliyyət köçürülüb
  • uzunluğu rabitə qat bir neçə təkmilləşdirilməsi:
  • uzunluğu / növü arqumentlər dəstək rabitə interface yenidən
  • Qeyri-blocker üçün bir interfeys comm əməliyyatları almaq əlavə edib. interface
  • bütün uzaq əməliyyatlar CHPL_COMM_GET () makro istifadə etmək vahid
  • refactored / adını rabitə interface mövzular
  • Test Sistemi
  • vastly performance test və şəkil imkanları təkmilləşdirilmiş
  • (sənədləşdirilməsi üçün start_test qarşısında şərh bax)
  • özü
  • sonra təmizlənməsi üçün test sisteminin dəstək təkmilləşdirilmiş
  • stdin hər hansı bir dolaylı istifadə qarşısını almaq üçün əlavə imkanı
  • sistem geniş prediff seçimi təmin etmək seçimi əlavə
  • daha Python
  • daha başlatma doğma fasiləsi funksiyanı istifadə etmək imkanı əlavə
  • test sistemi test olub necə yaxşılaşmışdır ki dəfə
  • .preexec faylları yalnız çalışmış olan bir səhv Sabit. " yol idi
  • Daxili

  • Developers AST node yaradır tapmaq üçün
  • Bir --break-on-id compiler bayrağı əlavə
  • util / kataloq məzmunu təkmilləşdirilmiş təşkili
  • version nömrələri hesablanır yolu dəyişib / SVN-based istifadəçilər üçün göstərilir
  • olacaq vəzifə / mövzu xüsusi modul kodu əlavə dəstək
  • hər pass arasında bölüşdürülür AST sayar çap imkanı əlavə
  • --gdb compiler yeni bir gdb alias əlavə etdi: "loc" bir AST node yer
  • yazdıran
  • səhv halların qarşısını almaq üçün pragmas / bayraqları çox təkmilləşdirilmiş həyata keçirilməsi

  • Compiler lazımsız string müqayisə
  • xaric bir neçə hallarda
  • preprocessor rəmzləri kimi aradan səhv meylli CHPL_TASKS istifadə və CHPL_THREADS
  • (azad daxil deyil) developers üçün bestPractices sənədlərin
  • əlavə
  • Daxili munging dəyişdi '=' və '==' 'təyin "üçün müvafiq olaraq" bərabərdir "
  • səhvlər AST ID çap --print-id-on-səhv geliştirici bayrağı əlavə
  • yoxlanılması C ++ prototip ciddilik təkmilləşdirilmiş
  • SVN ağac (heç azad)
  • Xarici töhfə saziş əlavə
  • compiler istifadə daxili növ anlayışı əlavə deyil, istifadəçi

Oxşar proqram

Tcl/Tk
Tcl/Tk

20 Jan 18

Susie
Susie

2 Jun 15

execline
execline

18 Jul 15

Şərh Chapel

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!