РафтЛиб
Появление
![]() | |
Оригинальный автор(ы) | Джонатан Бирд |
---|---|
Начальная версия | конец 2014 |
Стабильная версия | 0,9
/ январь 2020 г. |
Предварительный выпуск | 1.0а
/ 18 мая 2020 г |
Написано в | С++ |
Операционная система | Linux , MacOS , Windows |
Тип | Аналитика данных, высокопроизводительные вычисления, обработка сигналов, машинное обучение, алгоритмы, большие данные |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | www |
РафтЛиб [1] — это портативная система параллельной обработки, целью которой является обеспечение максимальной производительности при одновременном повышении производительности программистов. Он позволяет программисту собирать массово-параллельную программу (как локальную, так и распределенную), используя простые операторы, подобные iostream. RaftLib обрабатывает многопоточность, распределение памяти, размещение памяти и автоматическое распараллеливание вычислительных ядер. [2] Это позволяет создавать приложения из цепочек вычислительных ядер, образующих граф параллельных вычислений задачи и конвейера. Программы написаны на C++ (хотя планируются и другие языковые привязки).
Пример [ править ]
Вот пример Hello World для демонстрационных целей: [3]
#include <raft>
#include <raftio>
#include <cstdlib>
#include <string>
class hi : public raft :: kernel
{
public :
hi () : raft :: kernel ()
{
output . addPort < std :: string > ( «0» );
}
виртуальный плот :: kstatus run ()
{
вывод [ "0" ]. push ( std :: string ( "Hello World \n " ) );
возвращение ( плот :: остановка );
}
};
int
main ( int argc , char ** argv )
{
/** создаем экземпляр ядра печати **/
raft :: print < std :: string > p ;
/** создать экземпляр ядра hello world **/
hi hello ;
/** создаем объект карты **/
raft :: map m ;
/** добавляем ядра в карту, и hello, и p выполняются одновременно **/
m += hello >> p ;
/** выполнить карту **/
m . Exe ();
возврат ( EXIT_SUCCESS );
}
Ссылки [ править ]
- ^ «RaftLib: библиотека шаблонов C++ для высокопроизводительной параллельной обработки потоков» (PDF) . Проверено 10 августа 2016 г.
- ^ «Онлайн-моделирование и настройка систем параллельной потоковой обработки» (PDF) . Проверено 10 августа 2016 г.
- ^ «Пример здравствуй, мир» . Проверено 10 августа 2016 г.