# HG changeset patch # User Shinji KONO # Date 1487077359 -32400 # Node ID 782f4c560de44246581419afd485d18bcf8b1bf7 # Parent 8c2123bb577b53277a6d730ab6b3b98faf5d6d10 ... diff -r 8c2123bb577b -r 782f4c560de4 src/parallel_execution/CUDAtwice.cbc --- a/src/parallel_execution/CUDAtwice.cbc Tue Feb 14 21:55:11 2017 +0900 +++ b/src/parallel_execution/CUDAtwice.cbc Tue Feb 14 22:02:39 2017 +0900 @@ -6,7 +6,7 @@ #include #include "helper_cuda.h" -__code twice(struct Context* context, struct LoopCounter* loopCounter, int index, int prefix, int* array, struct Context* workerContext) { +__code CUDAtwice(struct Context* context, struct LoopCounter* loopCounter, int index, int prefix, int* array, struct Context* workerContext) { int i = loopCounter->i; if (i < prefix) { array[i+index*prefix] = array[i+index*prefix]*2; @@ -19,10 +19,7 @@ goto meta(workerContext, workerContext->next); } -__code twice_stub(struct Context* context) { - // struct LoopCounter* loopCounter = &context->data[context->dataNum]->LoopCounter; - struct Array* array = &context->data[context->dataNum+1]->Array; - +static void CUDAExec(struct Context* context, struct Array* array) { // Worker *worker = context->worker; // CUDAWorker* cudaWorker = (CUDAWorker*)worker->worker; // memory allocate @@ -50,6 +47,12 @@ //コマンドの終了待ちを行う checkCudaErrors(cuMemcpyDtoH(array->array, devA, array->size)); // wait for stream +} + +__code CUDAtwice_stub(struct Context* context) { + // struct LoopCounter* loopCounter = &context->data[context->dataNum]->LoopCounter; + struct Array* array = &context->data[context->dataNum+1]->Array; + CUDAExec(context,array); //continuationにそってGPUworkerに戻る goto meta(context, context->next);