Chapel

Скріншот програми:
Chapel
Дані програми:
Версія: 1.3.0 Pre-Alpha
Дата завантаження: 11 May 15
Розробник: Cray Inc.
Ліцензія: Безкоштовно
Популярність: 68

Rating: 2.0/5 (Total Votes: 1)

Каплиця нову мову паралельного програмування, що розробляється Cray Inc. як частина DARPA чолі програми Висока продуктивність обчислювальних систем (HPCS). Каплиця призначений для підвищення продуктивності користувачів високопродуктивних комп'ютерних, а також страви в якості портативного моделі паралельного програмування, які можуть бути використані на кластерах на товари або настільних багатоядерних систем. Каплиця прагне значно поліпшити програмування великомасштабних паралельних комп'ютерів, підбираючи чи побиття продуктивність і портативність поточних моделей програмування, таких як MPI.
Каплиця додаток підтримує багатопоточну модель виконання через абстракцій високого рівня для паралелізму даних, паралелізм завдань, паралелізм і вкладений паралелізм і NBSP ;. Каплиця Тип мовної дозволяє користувачам вказати і міркувати про розміщення даних і завдань на цільовий архітектури в порядку налаштуватися на місцевості. Каплиця підтримує агрегати даних глобального вид з одними реалізаціями, що дозволяє операції з розподілених структур даних, які будуть висловлені в природним чином. На відміну від багатьох попередніх паралельних мов високого рівня, каплиця будується навколо філософії кратномасштабного, дозволяючи користувачам спочатку пишуть дуже абстрактний код, а потім поступово додати більше деталей, поки вони не як близько до машини, як того вимагають їхні потреби. Каплиця підтримує повторне використання коду і швидкого прототипування за допомогою об'єктно-орієнтованого проектування, типу виводу і функцій для узагальненого програмування.
Каплиця була розроблена з перших принципів, а не шляхом розширення існуючого мови. Це важливо з блочною структурою мови, розроблений, щоб бути легко дізнатися для користувачів C, C ++, Fortran, Java, Perl, Matlab, та інших популярних мовах. У той час як Церква спирається на поняття і синтаксис з багатьох попередніх мов, його паралельні функції найбільш безпосередньо впливають БФЛ, високопродуктивний Фортран (HPF), і Cray MTA & торгівля; / Cray ПРД і торгівлі; Розширення С і 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 ПРД
  • широкі поліпшення кодів вибірок в прикладах / каталог
  • (див "приклад" коди нижче і приклади / 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 {VAR х ...} модуль М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 ПРД, додана підтримка паралельних циклів по областям
  • для Cray ПРД, додав покоління 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 завданнями для PTHREAD потокову
  • кілька поліпшень в рівні зв'язку виконання:
  • реструктуризацію інтерфейс зв'язку для підтримки аргументи довжина / тип
  • додав інтерфейс для неблокіру- отримати роботу в кому. Інтерфейс
  • уніфіковані всі видалені операції отримати використовувати 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 (не в релізі)
  • додав поняття внутрішніх типів, використовуваних компілятором, але не користувач

Схожі програми

Scala
Scala

17 Feb 15

CmdOption
CmdOption

28 Sep 15

Aubit 4GL compiler
Aubit 4GL compiler

20 Feb 15

Go
Go

27 Sep 15

Chapel

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями