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 (не в релизе)
  • добавил понятие внутренних типов, используемых компилятором, но не пользователь

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

Avian
Avian

20 Feb 15

Plessc
Plessc

19 Feb 15

Nimrod
Nimrod

20 Feb 15

FFC
FFC

17 Feb 15

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

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