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