ZPL: Инженерлік және ғылыми есептеулер үшін жаңа тіл
ZPL (programming language)
ZPL бағдарламалау тілі – C/C++ орнына ғылыми есептеулерде қолданылатын, жоғары өнімділікке және параллелизмге бағытталған тіл. Жылдам, кросс-платформа!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
ZPL (Z деңгейлі бағдарламалау тілі) – инженерлік және ғылыми салаларда C және C++ бағдарламалау тілдерін алмастыру мақсатымен жасалған массивтік бағдарламалау тілі. Оның жобалау мақсаты платформалар арқылы жоғары өнімділікке қол жеткізу болғандықтан, ZPL бағдарламалары тізбекті және параллель компьютерлерде жылдам жұмыс істейді. ZPL-дің жоғары параллельді бағдарламаларын жазу оңай, себебі ол тек жасырын параллелизмді пайдаланады. Алғашқыда Orca C деп аталған ZPL 1993–1995 жылдары Вашингтон университетінің Компьютерлік ғылымдар және инженерия факультетінің Orca жобасы аясында жобаланып, іске асырылды.
ZPL (short for Z level Programming Language) is an array programming language designed to replace C and C++ programming languages in engineering and scientific applications. Because its design goal was to obtain cross platform high performance, ZPL programs run fast on both sequential and parallel computers. Highly parallel ZPL programs are simple and easy to write because it exclusively uses implicit parallelism. Originally called Orca C, ZPL was designed and implemented during 1993–1995 by the Orca Project of the Computer Science and Engineering Department at the University of Washington.
Егжей-тегжейлер
ZPL деректерді параллельді бағдарламалау моделін іске асыру үшін массив абстракциясын қолданады. ZPL-дің осындай жоғары өнімділікке қол жеткізуінің себебі: параллельдік директивалары немесе басқа да ашық параллелизм формалары болмауы, ZPL жиынтық есептеулер массивтер арқылы сипатталғанда, массив операцияларын іске асыру үшін көптеген скалярлық операциялар (жасырын түрде) орындалуы керек екенін пайдаланады. Бұл жасырын есептеулерді автоматты түрде әртүрлі процессорларға бөлуге болады, осылайша бірмезгілділікке қол жеткізіледі: Параллелизм массив операцияларының семантикасынан туындайды. ZPL бағдарламалық талдау және бағдарламаны оңтайландыру жүргізілетін стандартты абстрактілік синтаксистік ағаш түріне аударылады. Объектілік код ретінде ANSI C коды жасалады. Бұл C бағдарламасы (бірнеше операцияларды абстрактілі түрде іске асырғандықтан, машинаға тәуелсіз) мақсатты машинадағы түпкілікті C компиляторын пайдаланып, нақты платформаға оңтайландырылған арнайы кітапханалармен құрастырылады. ZPL-ді жасағандар: Брэд Чемберлен, Сун Ын Чой, Э. Кристофер Льюис, Кальвин Лин, Джейсон Секоски, Ларри Снайдер және В. Деррик Уэзерсби, Рут Андерсон, А. Дж. Бернхайм, Мариос Дикаиакос, Джордж Форман және Курт Партриджтің көмегімен. ZPL-дің белсенді жоба ретіндегі мәртебесі күмәнді; ресми веб-сайттың бас бетіндегі соңғы «Жаңалықтар» 2005 жылғы 9 қаңтарда жарияланған.
ZPL uses the array abstraction to implement a data parallel programming model. This is the reason why ZPL achieves such good performance: having no parallel directives or other forms of explicit parallelism, ZPL exploits the operational trait that when aggregate computations are described in terms of arrays, many scalar operations must be (implicitly) performed to implement the array operations. This implied computation can be automatically allotted to different processors to achieve concurrency: Parallelism arises from the semantics of the array operations. ZPL is translated into a conventional abstract syntax tree representation on which program analysis and program optimizations are performed. ANSI C code is generated as the object code. This C program (which is machine independent because it implements certain operations in abstract form) is then compiled using the native C compiler on the target machine with custom libraries optimized to the specific platform. The creators of ZPL were: Brad Chamberlain, Sung Eun Choi, E Christopher Lewis, Calvin Lin, Jason Secosky, Larry Snyder, and W. Derrick Weathersby with assistance from Ruth Anderson, A. J. Bernheim, Marios Dikaiakos, George Forman, and Kurt Partridge. ZPL's status as an active project is in question; the latest "What's new" item on the front page of the official website is dated 9 January 2005.