Cilk

Cilk
Cilk
Класс языка:

императивный (процедурный), структурная, parallel programming

Появился в:

1994

Автор(ы):

Лаборатория CS в MIT

Типизация данных:

статическая

Основные реализации:

Cilk/Cilk++

Диалекты:

Intel Cilk Plus

Испытал влияние:

C

Лицензия

открытый исходный код для оригинального Cilk
проприетарная для Cilk++ и Intel Cilk Plus

Сайт:

Intel's Cilk page

Cilk — язык параллельного программирования.

Разрабатывался с 1994 года в лаборатории Информатики MIT. Основан на языке ANSI C, с добавлением небольшого количества ключевых слов Cilk. Позже был расширен на Си++, в виде Cilk++ — коммерческого продукта, разрабатываемого компанией Cilk Arts.

В 2009 году компанией Cilk Arts было объявлено о том, что все её продукты и сама команда разработчиков становятся частью корпорации Интел.

Дизайн

Основной идеей при разработке ЯП Cilk было то, что программист должен взять на себя задачу «выявления» параллелизма, помечая те части программы, которые могут быть безопасно исполнены в параллельном режиме; при этом на систему исполнения возлагается задача непосредственного планирования выполнения и распределения нагрузки. Благодаря такому разделению программы на Cilk работают на системах с различным количеством процессоров, в том числе и на одном. Если программист выделил достаточное количество параллельных блоков, достигается неплохая масштабируемость.

При разработке языка за основу был взят ЯП Си. Расширения (ключевые слова cilk) при этом слабо меняют программу, так, если их удалить из исходного кода (например, через пустые макроопределения), то получится корректная программа на Си, называемая serial elision или C elision от полной Cilk-программы. Несмотря на некоторые сходства, Cilk не является родственным проекту Concurrent C от AT&T Bell Labs.

Компанией Cilk Arts, Inc. была разработана коммерческая версия Cilk, названная Cilk++, которая поддерживает как Си, так и Си++; совместима с компиляторами GCC и Microsoft C++.

В августе 2011 года исходные коды Cilk Plus были открыты компанией Intel. [1] Был предоставлены патч для gcc-4.7 и Run-Time Library (RTL).

Ключевые слова

  • cilk
  • spawn
  • sync
  • inlet
  • abort

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Cilk" в других словарях:

  • Cilk — Paradigm(s) imperative (procedural), structured, parallel Appeared in 1994 Designed by MIT Laboratory for Computer Science Developer Intel …   Wikipedia

  • CILK-FM — Infobox Radio Station name = CILK (FM) airdate = 1985 frequency = 101.5 mHz (FM) area = Kelowna, British Columbia format = Adult Contemporary owner = Astral Media erp = 10 kW branding = 101.5 Silk FM slogan = The Best Variety of Yesterday and… …   Wikipedia

  • cılk — sf. 1) Bozularak kokmuş (yumurta) 2) Cıvık Çok çamurlu, cılk yollarda çoğu kadın olan köylüler, toplanmış bizi seyrediyorlardı. H. E. Adıvar 3) İrinlenmiş Uyuzlunun bilekleri cılk yara içindeydi. S. F. Abasıyanık 4) hlk. Sözünün eri olmayan… …   Çağatay Osmanlı Sözlük

  • Intel Cilk Plus — Cilk Plus Paradigm(s) imperative (procedural), structured, parallel Appeared in 2010 Designed by Intel Developer Intel Stable release Parallel Studio 201 …   Wikipedia

  • Intel Cilk Plus — Cilk Plus Класс языка: Императивный, процедурный, структурный, параллельный Появился в: 2010 Автор(ы): Intel Основные реализации: Intel C++ Compiler, GCC Испытал влияние: C …   Википедия

  • cılk etmek — bozmak, çürütmek …   Çağatay Osmanlı Sözlük

  • cılk çıkmak — kusurlu, boş veya bozuk çıkmak …   Çağatay Osmanlı Sözlük

  • çılk çıkmak — bozulmuş yumurta …   Beypazari ağzindan sözcükler

  • çulk — cılk, büsbütün, dibelik. I, 349 § çulk esgürük (esrük);c ılk sarhoş, bütün bütün sarhoş I, 349 …   Divan-i Luqat-i it-Türk Dizini

  • Multi-core — A multi core processor (or chip level multiprocessor, CMP) combines two or more independent cores into a single package composed of a single integrated circuit (IC), called a die, or more dies packaged together. The individual core is normally a… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»