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

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

Ctalk
Ctalk

20 Feb 15

ClamAv#
ClamAv#

3 Jun 15

Avian
Avian

20 Feb 15

Chapel

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