Языки программирования
Специализирванные параллельные языки и расширения существующих языков.
Параллельные расширения и диалекты языка Fortran: Fortran-DVM, Cray MPP Fortran, F--, Fortran 90/95, Fortran D95, Fortran M, Fx, HPF, Opus, Vienna Fortran, |
Параллельные расширения и диалекты языков C/C++: C-DVM, A++/P++, CC++, Charm/Charm++, Cilk, HPC, HPC++, Maisie, Mentat, mpC, MPC++, Parsec, pC++, sC++, uC++, |
Другие параллельные языки и расширения: НОРМА, ABCL, Adl, Ada, Concurrent Clean, MC#, Erlang, Linda, Modula-3, NESL, Occam, Orca, Parallaxis, Phantom, Sisal, SR, ZPL |
НОРМА
- НОРМА - язык непроцедурной спецификации вычислительных задач.
- Разработан в ИПМ РАН.
- Смотрите также: карта российских исследований, проект [ИПМ РАН/НОРМА].
ABCL
- ABCL (An object-Based Concurrent Language) - параллельный язык, сочетающий в себе элементы объектно-ориентированного программирования и средства посылки сообщений.
- Другие ссылки: Скачать по ftp
Adl
- Adl - функциональный язык с небольшим числом конструкций и типов данных, разработанный для написания параллельных программ. Ориентирован на программирование абстрактной машины с распределенной памятью.
Ada
- Ada - универсальный язык программирования, включающий в себя средства для создания параллельных программ. Официальный язык программирования министерства обороны США. Существует множество компиляторов для самых разных платформ.
- Текущая версия: Ada-95
- Списки рассылки/новостные группы: comp.lang.ada, Team Ada, Web_ada
Concurrent Clean
- Concurrent Clean - многоцелевой язык программирования высокого уровня, позволяющий создавать как последовательные, так и параллельные программы. Существуют реализации для многих платформ.
- Текущая версия: 1.3
MC#
- MC# - новый проект по созданию асинхронного параллельного языка программирования MC#, ориентированного на кластерные и GRID-архитектуры, который позволил бы использовать все преимущества языка C# в параллельном программировании. Этот язык позволяет создавать эффективный и в то же время легкочитаемый программный код, который к тому же может исполняться как в локальном, так и в распределённом режимах.
- Текущая версия: 1.2-16 для Windows и Linux
DVM
- DVM-система предназначена для создания переносимых и эффективных вычислительных приложений на языках C-DVM и Fortran-DVM для параллельных компьютеров с различной архитектурой.
- Аббревиатура DVM соответствует двум понятиям: Distributed Virtual Memory и Distributed Virtual Machine. Первое отражает наличие единого адресного пространства. Второе отражает использование виртуальных машин для двухступенчатой схемы отображения данных и вычислений на реальную параллельную машину.
- В систему DVM также входят библиотека поддержки LIB-DVM, DVM-отладчик, предсказатель выполнения DVM-программ, анализатор производительности DVM-программ.
- Система разработана в Институте прикладной математики им. М.В.Келдыша РАН.
- Смотрите также: Проект [ИПМ РАН/DVM].
Erlang
- Erlang - язык программирования, позволяющий писать программы для разного рода распределенных систем. Разработан и поддерживается компанией Ericsson. Язык включет в себя средства порождения параллеьных процессов и их коммуникации с помощью посылки асинхронных сообщений. Программа транслируется в байт-код, исполняемый виртуальной машиной, что обеспечивает переносимость.
- Текущая версия: 4.6.4
Linda
- Linda - параллельный язык программирования. Программа рассматривается как совокупность процессов, которые могут обмениваться данными через пространство кортежей. В чистом виде практически не встречается, чаще всего используется совместно с другими языками высокого уровня как средство общения параллельных процессов.
Modula-3
- Modula-3 - универсальный язык программирования, дальнейшее развитие языков Pascal и Modula-2. Включает в себя возможности разработки многопоточных приложений.
- Списки рассылки/новостные группы: comp.lang.modula3
- Другие ссылки: Modula-3 Resource Page,
NESL: A Parallel Programming Language
- NESL - язык параллельного программирования, созданный с целью как написания параллельных программ, так и обучения. Поддерживает параллелизм по данным, позволяя задавать параллельное выполнение любых функций над однотипными данными. Включает также средства анализа производительности компьютера.
- Текущая версия: 3.1
Occam
- Occam - язык параллельного программирования, ориентированный в первую очередь на написание программ для транспьютерных систем.
- Текущая версия: Occam 3
Orca
- Orca - язык параллельного программирования для компьютеров с распределенной памятью. Предоставляет средства динамического порождения процессов и отображения их на процессоры, а также коммуникации процессов при помощи разделяемых объектов.
Parallaxis
- Parallaxis - структурный язык параллельного программирования, основанный на языке Modula-2. Пользователю дается возможность задавать конфигурацию виртуальной машины, на которой программа должна исполняться.
- Текущая версия: p3
Phantom
- Phantom - интерпретируемый язык, предназначенный для разработки больших распределенных интерактивных приложений. Язык базируется на языке Modula-3.
- Текущая версия: alpha release
Sisal
SR (Synchronizing Resources)
- SR - параллельный язык программирования. Основные конструкции языка: ресурсы (процессоры и данные) и операции, с помощью которых ресурсы взаимодействуют. Поддерживаются различные виды синхронизации, посылки сообщений, динамическое создание процессов, использование разделяемых переменных.
- Текущая версия: 2.3.1
- Списки рассылки/новостные группы: Список рассылки
- Другие ссылки: Скачать по ftp
ZPL
- ZPL - параллельный язык программирования. Включает в себя возможности операций на целыми массивами и секциями массивов. Программист не задает никакого параллелизма, все параллельные свойства извлекаются компилятором.
- Текущая версия: 1.12.0
- Списки рассылки/новостные группы: Списки рассылки
© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ