Проект Templet

акторный фреймворк для запуска задач
на множестве ядер, кластерах и в облаках
templet.ssau.ru

Инструменты пользователя

Инструменты сайта


templet:разработка_и_логическая_отладка_программы_по_шаблону

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
templet:разработка_и_логическая_отладка_программы_по_шаблону [2013/10/28 19:35] – создано artamonovtemplet:разработка_и_логическая_отладка_программы_по_шаблону [2013/10/29 21:27] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 ===== Разработка и логическая отладка программы по шаблону ===== ===== Разработка и логическая отладка программы по шаблону =====
 +TempletSDK содержит библиотеку времени исполнения gprt, которая реализует последовательное исполнение, что значительно упрощает отладку. Задачи извлекаются из очереди и завершаются в порядке их добавления в очередь, что является единственным отличием от параллельной версии и не является проблемой при правильной структуре программы. Реализация метода run приведена ниже:
 +<code cpp>
 +void TBag::run()
 +{
 + task=createTask();
 + while(if_job()){                          //проверка наличия задач для обработки
 + get(task);                        //вызов метода для получения данных задачи
 + task->cur=0;task->send_task();    //заполнение буфера данными задачи
 + task->cur=0;task->recv_task();    //чтение данных задачи из буфера
 + proc(task);                       //вызов обработчика задачи
 + task->cur=0;task->send_result();  //заполнение буфера данными результата обработки
 + task->cur=0;task->recv_result();  //чтение результатов обработки из буфера
 + put(task);                        //вызов обработчика результатов вычислений
 + }
 + delete task;
 +}
 +</code>
 +В отладочной версии библиотеки времени исполнения симулируется передача данных между вычислительными узлами, несмотря на то, что приложение работает в общей памяти.
 +
 +Если после начала разработки приложения, уже был выбран отличная от gprt библиотека времени исполнения, то необходимо переключится на неё. Для этого необходимо заменить параметр rtl и путь к заголовочному файлу в файле описания структуры приложения. После чего файл gpTBag.txt должен выглядить подобным образом: 
 +<code xml gpTBag.txt>
 +<module id="TB" templet="" rem="">
 +
 +    <include file="../rtl/gprt.h" module=""/>
 +
 +    <param id="rtl" value="GPRT"/>
 +
 +    <assemble id="TaskBag" templet="TBAG" rem="Task bag template">
 +
 +    </assemble>
 +
 +</module>
 +</code>
 +Генерируемая часть исходного кода приложения обновляется только при сборке проекта.
templet/разработка_и_логическая_отладка_программы_по_шаблону.1382988939.txt.gz · Последнее изменение: 2013/10/28 19:35 (внешнее изменение)