Previous | Next --- Slide 27 of 54
Back to Lecture Thumbnails
Aarow

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

Slide 30

Slide 31

msebek

@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.