view src/parallel_execution/examples/twice/CUDAtwice.cu @ 462:8d7e5d48cad3

Running CPU examples
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Wed, 20 Dec 2017 22:05:08 +0900
parents 7679093bdd72
children 39b5adbcd83f
line wrap: on
line source

extern "C" {
    struct Array {
        int prefix;
        int* array;
    } Array;

    __global__ void twice(int* array, struct Array* inputArray) {
        int i = 0;
        int prefix = inputArray->prefix;
C_twice:
        if (i < prefix) {
            array[i+(blockIdx.x*blockDim.x+threadIdx.x)*prefix] = array[i+(blockIdx.x*blockDim.x+threadIdx.x)*prefix]*2;
            i++;
            goto C_twice;
        }
    }
}