Chapel

Скриншот программы:
Chapel
Детали программы:
Версия: 1.3.0 Pre-Alpha
Дата загрузки: 11 May 15
Разработчик: Cray Inc.
Тип распространения: Бесплатная
Популярность: 12

Rating: nan/5 (Total Votes: 0)

Часовня новый язык параллельного программирования, разрабатываемый Cray Inc. как часть DARPA главе программы Высокая производительность вычислительных систем (HPCS). Часовня предназначен для повышения производительности пользователей высокопроизводительных компьютерных, а также подают в качестве портативного модели параллельного программирования, которые могут быть использованы на кластерах на товары или настольных многоядерных системах. Часовня стремится значительно улучшить программирования крупномасштабных параллельных компьютеров, подбирая или избиение производительность и портативность текущих моделей программирования, таких как MPI.
Часовня приложение поддерживает многопоточную модель выполнения через абстракций высокого уровня для параллелизма данных, параллелизм задач, параллелизм и вложенный параллелизм и NBSP;. Часовня Тип языковой позволяет пользователям указать и рассуждать о размещении данных и задач на целевой архитектуры в целях настроиться на местности. Часовня поддерживает агрегаты данных глобального вид с пользовательскими реализациями, что позволяет операции на распределенных структур данных, которые будут высказаны в естественным образом. В отличие от многих предыдущих параллельных языков высокого уровня, часовня строится вокруг философии кратномасштабного, позволяя пользователям изначально пишут очень абстрактный код, а затем постепенно добавить больше деталей, пока они не как близко к машине, как того требуют их потребности. Часовня поддерживает повторное использование кода и быстрого прототипирования с помощью объектно-ориентированного проектирования, типа вывода и функций для обобщенного программирования.
Часовня была разработана из первых принципов, а не путем расширения существующего языка. Это важно с блочной структурой языка, разработан, чтобы быть легко узнать для пользователей C, C ++, Fortran, Java, Perl, Matlab, и других популярных языках. В то время как Церковь опирается на понятия и синтаксис из многих предыдущих языках, его параллельные функции наиболее непосредственно влияют БФЛ, высокопроизводительный Фортран (HPF), и Cray MTA & торговля; / Cray XMT и торговли; Расширения С и Fortran

Что нового В этом выпуске:.

  • Основные (см ниже)
  • раскол "Def" ключевое слово в "Proc" (для процедур) и «ИТЭР» (для итераторов)
  • (см "$ CHPL_HOME / Util / преобразовать-DEFS --help 'для помощи обновления существующих кодов)
  • добавил "Replicated" распределение и улучшение "Блок-Циклическая" Распределение
  • (см & Quot; Стандартный распределения и Quot; в спецификации и примеры / праймеров / distributions.chpl)
  • дополнительные слои задач одного региональные для Nanos ++ (BSC) и объектов QThread (Sandia)
  • (см DOC / README.tasks)
  • из основных переработка и реализация семантики дальности
  • (см & Quot; семантические изменения / Изменения в Чапел языка и Quot; ниже для деталей)
  • начальная поддержка летучих типов: BOOL, INT, UINT, реальный, емк
  • (см DOC / TechNotes / README.volatile)
  • поддержка Экстерн consts и классов (указатели-к-структуры)
  • (см DOC / TechNotes / README.extern)
  • улучшена поддержка параллелизма данных на Cray XMT
  • широкие улучшения кодов выборок в примерах / каталог
  • (см "пример" коды ниже и примеры / README)
  • добавил большинство примеров кода из спецификации на новые примеры каталоге /
  • (см примеры / SPEC / *)
  • добавил техническую записку с описанием пользовательское сопоставление домена интерфейс
  • (см DOC / TechNotes / README.dsi)
  • широкие обновления спецификации языка
  • (см '' Документация ниже)
  • несколько улучшений поручением исполнения и связи слои
  • (см & Quot; Runtime библиотеки Изменения и Quot; ниже)
  • Синтаксическая / Нейминг изменений
  • раскол "Def" ключевое слово в "Proc" (для процедур) и «ИТЭР» (для итераторов)
  • (см "$ CHPL_HOME / Util / преобразовать-DEFS --help 'для помощи обновления существующих кодов)
  • переименованы '' арифметические доменов / массивы "прямоугольные" домены / массивы
  • добавлена ​​поддержка для плавающей запятой литералов вида "1.e ...
  • (ранее только "1е ...» и «... 1.0e" были поддержаны)
  • семантические изменения / Изменения в Чапел языка
  • несколько улучшений в диапазонах (см "Диапазоны" глава языка спецификации):
  • добавил концепцию выравнивания, чтобы указать выравнивание по модулю | шаг |
  • добавили 'Выровнять' оператора и запрос на диапазонах указать выравнивание / запроса
  • (например, «1..10 на 3 Совместите 2 = & GT; '2, 5, 8' с 2 == == 5 8, мод 3)
  • определяется == на полигонах в терминах целочисленных последовательностей, которые они производят
  • определяется ОПОЗНАВАНИЕ (R1, R2), чтобы сказать ли R1 и R2 семантически идентичны
  • определяется '# К' при к & LT; 0 в смысле & Quot; отсчет от конца диапазона и Quot;
  • добавил "первый", "последний", "alignedLow« Методы alignedHigh 'в диапазонах
  • (например, «1..10 по -2» = & GT-первых == 10, в прошлом == 2, alignedLow = 2, alignedHigh = 10)
  • добавлена ​​поддержка для различных новых функций Диапазон запросов
  • (например, alignLow (), hasFirst (), hasLowBound (), isAligned (), boundsCheck () ...)
  • добавлена ​​поддержка для летучих BOOL, INT, UINT, реальная, и типов ИМАГ
  • (см DOC / TechNotes / README.volatile)
  • добавил конца-файла проверку на тип файла
  • (например., "в то время! infile.eof ... ')
  • убрана поддержка для лечения "возвращение" в итератор как «выход»
  • (например, изменение "ИТЭР Foo () {возвращение х;} 'на' ИТЭР Foo () {выход х; возвращение;})
  • добавлена ​​поддержка для ссылающихся модулей без первого 'use'-ки их
  • (например, модуль М1 {переменная х ...} модуль М2 {...} M1.x ... теперь юридическое)
  • добавил callStackSize запрос типа локали
  • (например, «here.callStackSize" возвращает размер стека вызовов от текущей локали)
  • удалили ранее необходимую запятой с конца деклараций перечисления
  • (например, «перечисления цвета {красный, синий, зеленый} 'теперь правовой; ранее необходимо'; ')
  • добавлена ​​поддержка для одного Запятая в конце списков перечислений
  • (например, «перечисления цвета {красный, синий, зеленый,} 'теперь юридическое)
  • удалены поддержку +/- операторов на прямоугольных областей; использовать переводить ()
  • Недавно Реализованные функции
  • реализованы == /! = для прямоугольных, ассоциативно и редкими доменов
  • Стандартные Распределения
  • добавил первый проект '' REPLICATED распределение для хранения данных с избыточностью
  • (см примеры / праймеров / distributions.chpl)
  • улучшенное "Блок-Циклическая", достаточно, чтобы правильно осуществить HPCC PTRANS и HPL
  • (см примеры / HPCC / ptrans.chpl, hpl.chpl; примеры / грунтовки / distributions.chpl)
  • удалить избыточность в описании лидер итераторов между доменами / массивов
  • Стандартные модули
  • добавил бесконечности и NaN константы модуля Math.chpl
  • (см '' Math под & Quot; стандартные модули & Quot; на языке спецификации)
  • добавил isinf () и () isfinite тестовые процедуры в модуле Math.chpl
  • (см '' Math под & Quot; стандартные модули & Quot; на языке спецификации)
  • добавил полтора десятка больше процедур для модуля GMP.chpl
  • Документация
  • добавлен новый техническую записку с описанием пользовательское сопоставление домена интерфейс
  • (см DOC / TechNotes / README.dsi)
  • сделано множество улучшений в спецификации языка
  • основные изменения к главе Domains, чтобы улучшить ясность / точность
  • улучшилось, и единая структура рекордов и классы главы
  • основные изменения к главе Доменные Карты для улучшения четкости / точность
  • имени пример коды для обеспечения кросс-ссылки на примеры / SPEC / программы
  • уточнить законность этикетки / перерыва / продолжить в параллельных циклов
  • обновляются описания читать [LN] / записи [LN]
  • Исправлены некоторые проблемы в областях файлов заказа
  • переформатирован спецификацию как «книги» в LaTeX
  • различные мелкие исправления опечаток / ошибок
  • улучшенные определения / описания нескольких терминах
  • добавил документации locale.name
  • и многие другие изменения ...
  • обновляются краткий справочник документ должен включать пропи & GT; Proc / ИТЭР изменение, совместите оп
  • .
  • переписал / реорганизовано README.extern уточнить разъяснения и воспитывать современных
  • добавил README, описывающий 'местный' о (Doc / TechNotes / README.local)
  • добавил README, описывающий летучие виды (док / TechNotes / README.volatile)
  • обновляются README.comm-диагностика говоря быстрые вилки статистику
  • обновляются различные файлы README
  • Пример коды
  • помещается большинство примеров кода из языка спецификации. к новой спецификации / подкаталог
  • улучшилось грунтовки / Каталог:
  • добавлен новый учебник для использования процедуры (праймеры / procedures.chpl)
  • добавил основную грунтовку для доменов (праймеры / domains.chpl)
  • переименован локали грунтовке locales.chpl и улучшили его
  • улучшилась грунтовку распределений и добавил Блок-Циклические и Реплицируемые использования
  • обновляются диапазон праймер (праймеры / range.chpl)
  • улучшилась грунтовку итераторы (праймеры / iterators.chpl)
  • улучшилась грунтовку сокращений (праймеры / reductions.chpl)
  • Добавлена ​​GetCurrentTime () для грунтовки (праймеры таймеров / timers.chpl)
  • добавил описания псевдонимов типа и типов конфигурационных переменных, чтобы грунтовки
  • (см праймеров / variables.chpl)
  • улучшилась каталог HPCC / тесты
  • добавил первый вариант HPCC PTRANS в HPCC / каталога (ptrans.chpl)
  • добавил чистого версию HPCC HPL для HPCC / каталога (hpl.chpl)
  • добавил варианты / подкаталог с примерами / HPCC выставлять другие подходы
  • добавил поток-promoted.chpl, чтобы показать использование продвижения в глобальной STREAM Triad
  • добавил ра-cleanloop.chpl показать очиститель (но в настоящее время медленнее) ядро ​​РА
  • улучшенные образцы верхнего уровня:
  • переименован существующих и Quot; привет, мир и Quot; примеры, чтобы предложить логический порядок чтения
  • (см примеры / привет * .chpl)
  • добавил данные параллельных и распределенных данных параллельного привет, примеры мировых
  • (см примеры / hello3-datapar.chpl, примеры / hello4-datapar-dist.chpl)
  • добавил комментарии к различным привет, примеры мира (примеры / привет * .chpl)
  • обновляются все примеры к семантике текущего языка
  • использовать "Proc '/' ИТЭР", а не "Def"
  • обновление с учетом новых семантику дальности
  • конкретной платформы Примечания
  • для Cray XT / Cray XE, улучшили aprun и PBS-aprun пусковые
  • (см & Quot; Launcher конкретных замечания и Quot; ниже)
  • для Cray XMT, добавлена ​​поддержка параллельных циклов по областям
  • для Cray XMT, добавил поколения noalias директив для FORALL переменных цикла
  • добавлена ​​поддержка для MareNostrum КСК в том числе документы и специальной пусковой
  • (см DOC / платформы / README.marenostrum)
  • Launcher конкретных заметки
  • добавил пуска-специфические опции, чтобы --help возможность
  • улучшилась распространение кодов состояния выхода через пусковых
  • изменились пусковые для поддержки Exec основе (а не на основе системы) команды
  • из пусковых использовать "Разорвать связь", а не системы ('') гт, чтобы удалить временные файлы
  • добавил запуска для MareNostrum КСК
  • уменьшается количество временных файлов, используемых для захвата выход "системы" команды
  • aprun улучшения пусковых
  • добавил --cc флаг, чтобы указать назначение процессора ж / в узле
  • добавил флаг -q для запуска ракеты-носителя в автоматическом режиме
  • добавил отладки возможность сохранить временные файлы около
  • через CHPL_LAUNCHER_DEBUG
  • PBS-aprun улучшения пусковых
  • добавил --cc флаг, чтобы указать назначение процессора ж / в узле
  • добавил отладки возможность сохранить временные файлы около
  • через CHPL_LAUNCHER_DEBUG
  • очищены выход, чтобы избавиться от какой-то посторонней из печати
  • из пусковой поддержка тестовой системе
  • добавил --walltime и --queue флаги запуска и в качестве альтернативы окр. вары.
  • Изменения компилятора
  • из компилятора печать "истинный" / "ложный" в подписи типа, а не 1/0
  • добавил конфигурации парам '' noRefCount отключить подсчет ссылок (может произойти утечка памяти)
  • Флаги компилятора
  • добавил флаг --print-CallStack-на-ошибки, чтобы показать, что привело к плохой вызова
  • добавил флаг --no-Codegen пропустить генерации кода и связывающей фазы
  • совместимость Изменения
  • добавлена ​​поддержка для экстерном С & Quot; классы и Quot; (указатель на структуры типа)
  • добавлена ​​поддержка для Экстерн consts (см README.extern)
  • Улучшения Сообщение об ошибке
  • добавил предупреждение сиротами "использование" заявления за пределами объявленных модулей
  • (например, «использовать M1; модуль М2 {} ', как правило, должны быть" модуль М2 {использование М1;})
  • сделано сообщение об ошибке разбора времени использовать стандартный 'имя файла: LINENO: "формат
  • генерируется сообщение об ошибке для ссылки на имя класса в качестве основного метода
  • (например, «класс С {Def Ст () {...}} 'теперь генерирует сообщение об ошибке)
  • Исправления / Новые семантические проверки (для старых семантики)
  • предотвратить типов конфигурационных от создаются с помощью флагов время выполнения командной строки
  • Исправлена ​​возможность компилятора для обработки союзы без каких-либо полей
  • фиксированной сокращений MINLOC / MAXLOC обрабатывать пустые диапазоны / поддиапазоны значений
  • Исправлена ​​ошибка, в которой "путь" аргумент конструкторов файлов был проигнорирован
  • из пустых союзы работают правильно
  • Исправлена ​​проблема переполнения в отрывов до диапазоны для распределения / распараллеливания
  • Исправлена ​​ошибка, связанная с поддержкой для пустых Экстерн типов записей
  • Исправлена ​​ошибка, связанная с Экстерн функции, которые возвращают записи
  • Исправлена ​​ошибка, связанная с копированием внешних записей
  • фиксированной реализация +/- операторов в ассоциативных / редкие домены
  • Исправлена ​​ошибка, относящуюся к имени файла имен модулей на основе содержащих кратное-х годов.
  • Сообщения об ошибках добавил для расширения / внешний / интерьер на нерегулярных областях
  • добавил ошибку для конструкторов / деструкторов с указанным типом возвращаемого
  • Исправлена ​​пара ошибок, относящихся к "быстрым на« оптимизации
  • добавил проверку в отношении построения классов без определения специфических полей
  • Упаковочные Изменения
  • добавил подсветки синтаксиса кода для GNU-источника подсветки
  • (см т.д. / источника выделения / README)
  • улучшенные Emacs раскраски поддержку версии 22.x
  • (см т.д. / Emacs / README)
  • Обновления в VIM окраски синтаксиса, чтобы отразить новую 'прок' / '' ИТЭР ключевые слова
  • (см т.д. / VIM / README)
  • добавил скрипт для конвертации "использования 'существующих кодексов DEF' до 'ИТЭР' / '' прок
  • (см $ CHPL_HOME / Util / преобразовать-DEFS)
  • удалены multirealm примеры и документация в настоящее время
  • Программное обеспечение сторонних Изменения
  • обновляются GASNet до версии 1.16.1
  • добавил копии Nanos КСК ++ и объектов QThread Сандиа
  • (см сторонних / README)
  • сделал после установки шаг за GASNet, что изменения абсолютные пути к относительному
  • удалены PVM на данный момент из-за нестабильности
  • Runtime библиотеки Изменения
  • дополнительные слои задач одного региональные для Nanos ++ (BSC) и объектов QThread (Sandia)
  • несколько улучшений к выполнения постановки задач слоя:
  • добавлен новый интерфейс за то, что многозадачность слой вызова chpl_main ()
  • изменились задачами функцию инициализации, чтобы принять maxThreadsPerLocale / callStackSize аргументы
  • добавил возможность текучести задача интерфейса задачами слоя
  • Улучшен код выполнения, чтобы избежать использования синхронизации вары перед инициализацией задачами
  • удалены макро-циализированных форма задачами интерфейс; с использованием стандартных имен, а не
  • унифицированы имен всех процедур задача слоя, чтобы chpl_sync _ * () и chpl_task _ * ()
  • удалить требование для реализации одной переменной интерфейс
  • переехал прекращение потоков из FIFO постановки задач слоя Pthreads многопоточных
  • упрощаются реализация переменных синхронизации в потоковой резьбы слоя
  • переехал на себя ответственность за пунктам нитей от FIFO задачами для потоковой поточной
  • несколько улучшений в уровне связи выполнения:
  • реструктуризацию интерфейс связи для поддержки аргументы длина / тип
  • добавил интерфейс для неблокиру- получить работу в комм. Интерфейс
  • унифицированы все дистанционного получить операции использовать CHPL_COMM_GET () макрос
  • рефакторингу / переименовал заголовки интерфейс связи
  • система тестирования
  • значительно улучшили тестирования и графические возможности
  • (см комментарии на передней start_test для документации)
  • улучшена поддержка тестирования системы для очистки после себя
  • Добавлена ​​возможность избегать использования любых косвенного стандартного ввода
  • добавлена ​​возможность обеспечить возможность prediff общесистемного
  • Добавлена ​​возможность использовать функцию тайм-аута родной пусковой, а не Пайтона
  • улучшилась, как система тестирования убивает тест, который раз из
  • Исправлена ​​ошибка, в которой .preexec только файлы, если работал ". был на вашем пути
  • Внутренняя
  • добавил флаг --break-на-ID компилятора для разработчиков, чтобы найти создает АСТ узел
  • совершенствование организации содержания Util / каталогов
  • изменили способ номера версий вычисляются / отображаются для пользователей SVN на основе
  • добавлена ​​поддержка для Задачи- / Автор-зависимый код модуля
  • добавил возможность печатать АСТ рассчитывает распределяются между каждым проходом
  • добавлен новый GDB псевдоним компилятора --gdb: «LOC» печатает АСТ узла местоположения
  • значительно улучшилась реализация ПРАГМАС / флагов, чтобы избежать случаев об ошибках
  • удалить несколько случаев ненужных сравнений строк в компиляторе
  • удалены подвержены ошибкам использование CHPL_TASKS и CHPL_THREADS, как символов препроцессора
  • добавил BestPractices документации для разработчиков (не входит в выпуске)
  • изменили внутреннюю munging из '=' и '==' до 'ASSIGN "и" равных »соответственно
  • добавил флаг --print-ID-на-ошибки разработчиков для печати AST ID об ошибках
  • улучшилась строгость C ++ прототипа проверки
  • добавил внешние соглашения вклад в дереве SVN (не в релизе)
  • добавил понятие внутренних типов, используемых компилятором, но не пользователь

Похожие программы

GromJS
GromJS

20 Feb 15

refactor
refactor

2 Jun 15

Smake
Smake

20 Feb 15

Комментарии к Chapel

Комментарии не найдены
добавить комментарий
Включите картинки!