templet:пример:hello_bagoftask_world
Различия
Показаны различия между двумя версиями страницы.
| templet:пример:hello_bagoftask_world [2013/10/27 08:45] – создано nazarov | templet:пример:hello_bagoftask_world [2013/10/27 11:38] (текущий) – удалено artamonov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Разработка параллельных и распределённых приложений с использованием шаблона состоит из описания структуры приложения: | ||
| - | <code xml gpTBag.txt> | ||
| - | <module id=" | ||
| - | <include file=" | ||
| - | |||
| - | <param id=" | ||
| - | |||
| - | < | ||
| - | |||
| - | </ | ||
| - | |||
| - | </ | ||
| - | </ | ||
| - | Разработки кода иницирующего начало вычислений с помощью библиотек времени исполнения из пакета TempletSDK | ||
| - | <code cpp TBag.cpp> | ||
| - | #include " | ||
| - | #include < | ||
| - | #include " | ||
| - | |||
| - | int main(int argc, char* argv[]){ | ||
| - | int prc_num = 4; | ||
| - | unsigned long start = get_current_time_in_us(); | ||
| - | TB:: | ||
| - | bag.run(); | ||
| - | printf(" | ||
| - | return 0; | ||
| - | } | ||
| - | </ | ||
| - | Сгенерированного по файлу структуры приложения заголовочного файла с пользовательскими секциями | ||
| - | <code cpp gpTBag.h> | ||
| - | #ifndef _GRAPH_PLUS_MODULE_TB | ||
| - | #define _GRAPH_PLUS_MODULE_TB | ||
| - | |||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | #include " | ||
| - | |||
| - | / | ||
| - | #include < | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | /*$GPBS$*/ | ||
| - | |||
| - | // | ||
| - | namespace TB{ | ||
| - | |||
| - | //Task bag template | ||
| - | class TaskBag: | ||
| - | public: | ||
| - | class TaskBagTask: | ||
| - | public: | ||
| - | TaskBagTask(); | ||
| - | virtual~TaskBagTask(); | ||
| - | |||
| - | void send_task(); | ||
| - | void recv_task(); | ||
| - | void send_result(); | ||
| - | void recv_result(); | ||
| - | |||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | }; | ||
| - | public: | ||
| - | TaskBag(int num_prc, int *argc, char ***argv); | ||
| - | virtual ~TaskBag(); | ||
| - | TBag:: | ||
| - | |||
| - | bool if_job(); | ||
| - | void put(Task*t); | ||
| - | void get(Task*t); | ||
| - | void proc(Task*t); | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | }; | ||
| - | } | ||
| - | #endif | ||
| - | </ | ||
| - | И сгенерированного по файлу структуры приложения файла исходного кода с реализацией классов с пользовательскими секциями | ||
| - | <code cpp gpTBag.cpp> | ||
| - | #include " | ||
| - | |||
| - | namespace TB{ | ||
| - | / | ||
| - | // put global variables and funcs here | ||
| - | /*$GPBS$*/ | ||
| - | ////////////////////// | ||
| - | //Task bag template | ||
| - | TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | { | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | / | ||
| - | |||
| - | // place your code here | ||
| - | /*$GPBS$*/ | ||
| - | |||
| - | GPRTMPI:: | ||
| - | |||
| - | bool TaskBag:: | ||
| - | / | ||
| - | return 0; | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | TaskBagTask* mt=(TaskBagTask*)t; | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | TaskBagTask* mt=(TaskBagTask*)t; | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | void TaskBag:: | ||
| - | TaskBagTask* mt=(TaskBagTask*)t; | ||
| - | / | ||
| - | /*$GPBS$*/ | ||
| - | } | ||
| - | |||
| - | } | ||
| - | </ | ||
templet/пример/hello_bagoftask_world.1382863544.txt.gz · Последнее изменение: 2013/10/27 08:45 — nazarov