Cray tarafından geliştirilen paralel bir programlama dilidir. 2010 yılına kadar süperbilgisayar verimliliğini artırmak amacıyla DARPA'nın Yüksek Verimlilik Hesaplama Sistemleri (HPCS) programına katılan Cray Cascade projesinin bir parçası olarak geliştirildi. 2010 yılına kadar bir açık kaynak projesi olarak geliştirildi. 2 Apache lisansı.
Şapel, mevcut programlama dillerinden daha yüksek bir ifade düzeyi sunarak ve algoritmik ifade ile veri yapısı uygulama ayrıntıları arasındaki ayrımı geliştirerek genel olarak paralel bilgisayarların ve özellikle Cascade sisteminin programlanabilirliğini geliştirmeyi amaçlıyor.
Dil tasarımcıları, Chapel'e mevcut HPC programlama uygulayıcıları, Fortran, C ya da C ++ kullanıcıları tarafından bir taraftan OpenMP ve MPI gibi teknolojileri kullanarak prosedür kodu yazanlar ve Java'yı tercih eden yeni mezun bilgisayar programcıları arasındaki boşluğu kapatmak istiyor; Python veya Matlab'ın sadece bir kısmı C ++ veya C. Şapel ile deneyim kazanmışken, ilk kullanıcıları yabancılaştırmamakla birlikte ikinci dil paketinin sağladığı üretkenlik gelişmelerini sunmalıdırlar.
Şapel, veri paralelleştirmesi, görev paralelliği ve yuvalanmış paralellik için soyutlamaları destekleyerek, çok yönlü bir paralel programlama modelini yüksek düzeyde desteklemektedir. Veri dağılımı ve alt hesaplamaların veri odaklı yerleştirilmesi için soyutlamalar yoluyla programdaki veri yeri ve hesaplamaları için optimizasyonlar sağlar. Nesne yönelimli kavramlar ve genel programlama özellikleri aracılığıyla kodun tekrar kullanılmasına ve genelliğine izin verir. Örneğin, Şapel yerel ayarların bildirilmesine izin verir.
Şapel, önceki birçok dildeki kavramları ödünç alırken, paralel konseptleri en çok Yüksek Performanslı Fortran (HPF), ZPL ve Cray MTA'nın Fortran ve C'ye uzantılarına ait fikirlere dayanıyor.
Şapel, mevcut programlama dillerinden daha yüksek bir ifade düzeyi sunarak ve algoritmik ifade ile veri yapısı uygulama ayrıntıları arasındaki ayrımı geliştirerek genel olarak paralel bilgisayarların ve özellikle Cascade sisteminin programlanabilirliğini geliştirmeyi amaçlıyor.
Dil tasarımcıları, Chapel'e mevcut HPC programlama uygulayıcıları, Fortran, C ya da C ++ kullanıcıları tarafından bir taraftan OpenMP ve MPI gibi teknolojileri kullanarak prosedür kodu yazanlar ve Java'yı tercih eden yeni mezun bilgisayar programcıları arasındaki boşluğu kapatmak istiyor; Python veya Matlab'ın sadece bir kısmı C ++ veya C. Şapel ile deneyim kazanmışken, ilk kullanıcıları yabancılaştırmamakla birlikte ikinci dil paketinin sağladığı üretkenlik gelişmelerini sunmalıdırlar.
Şapel, veri paralelleştirmesi, görev paralelliği ve yuvalanmış paralellik için soyutlamaları destekleyerek, çok yönlü bir paralel programlama modelini yüksek düzeyde desteklemektedir. Veri dağılımı ve alt hesaplamaların veri odaklı yerleştirilmesi için soyutlamalar yoluyla programdaki veri yeri ve hesaplamaları için optimizasyonlar sağlar. Nesne yönelimli kavramlar ve genel programlama özellikleri aracılığıyla kodun tekrar kullanılmasına ve genelliğine izin verir. Örneğin, Şapel yerel ayarların bildirilmesine izin verir.
Şapel, önceki birçok dildeki kavramları ödünç alırken, paralel konseptleri en çok Yüksek Performanslı Fortran (HPF), ZPL ve Cray MTA'nın Fortran ve C'ye uzantılarına ait fikirlere dayanıyor.
Yorumlar
Yorum Gönder