What's the difference between device and global? Is there any added value of using device besides polluting the namespace?
arjunh
device: functions that can be called by functions on the GPU (other device/global function calls).
global: functions that are launched as kernels onto the GPU, invoked by code on the CPU.
Berry
@arjunh What does it mean to launch a function as a kernel? I loosely know kernels have much to do with how operating systems work. Do GPU's have a full blown OS on them as well, or is more like a small driver?
skywalker
@Aarow I think the use of device is necessary for the differentiation in address space for the CPU and GPU
@Berry, the 'kernel' we're talking about relates more to [http://en.wikipedia.org/wiki/Kernel_(image_processing)] than [http://en.wikipedia.org/wiki/Kernel_(operating_system)].
In my understanding, a kernel is essentially a function being applied over a matrix. In the CUDA context, it's a function that, when called, is executed N times in parallel by N different CUDA threads.
Corian
Why do we need to differentiate between device and global functions?
Device functions simply seem to be helper functions for global functions but I don't see why the label would help.
What's the difference between device and global? Is there any added value of using device besides polluting the namespace?
@arjunh What does it mean to launch a function as a kernel? I loosely know kernels have much to do with how operating systems work. Do GPU's have a full blown OS on them as well, or is more like a small driver?
@Aarow I think the use of device is necessary for the differentiation in address space for the CPU and GPU
Slide 30
Slide 31
@Berry, the 'kernel' we're talking about relates more to [http://en.wikipedia.org/wiki/Kernel_(image_processing)] than [http://en.wikipedia.org/wiki/Kernel_(operating_system)].
In my understanding, a kernel is essentially a function being applied over a matrix. In the CUDA context, it's a function that, when called, is executed N times in parallel by N different CUDA threads.
Why do we need to differentiate between device and global functions? Device functions simply seem to be helper functions for global functions but I don't see why the label would help.