diff TaskManager/Cuda/CudaScheduler.h @ 2012:9360e782a431 draft

Optimization data transfer. not running
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Tue, 01 Jul 2014 03:40:54 +0900
parents c3b4083c4467
children d43c2b7932ea
line wrap: on
line diff
--- a/TaskManager/Cuda/CudaScheduler.h	Wed Jun 11 17:22:17 2014 +0900
+++ b/TaskManager/Cuda/CudaScheduler.h	Tue Jul 01 03:40:54 2014 +0900
@@ -7,9 +7,12 @@
 #include "HTask.h"
 #include "TaskManager.h"
 #include <cuda.h>
+#include <map>
 
 extern TaskObject cuda_task_list[MAX_TASK_OBJECT];
 
+using namespace std;
+
 #define STAGE 8
 
 class CudaScheduler : public MainScheduler {
@@ -33,7 +36,6 @@
     // platform は OpenCL が複数のメーカーの GPU に対応してるから必要
     // Cuda の場合、NVIDIA だけなので必要ない?
     CUdevice device;
-    unsigned int ret_num_platforms; // たぶん要らない
     int ret_num_devices;
     CUcontext context;
     // command_queue command_queue;
@@ -43,10 +45,13 @@
     memaddr reply;
     // cl_kernel に相当
     // 変数名は function にすべきか kernel にすべきか
-    // とりあえず、kernel で
+    // とりあえず、OpenCL に合わせて kernel で
     CUfunction kernel[STAGE];
     CudaBuffer cudabuffer[STAGE];
     
+    // record transmitted data.
+    map<ListElement*, CUdeviceptr> transmitted;
+
     HTask::htask_flag flag[STAGE];
     
  private: