The fact that CUDA launches blocks (of CUDA threads) for execution depending on resource availability ensures that the scheduler can fully utilize the cores without us having to specify a fixed number beforehand. This in some sense is similar to how ISPC launches 'tasks'. This also enables the same code to run on GPUs with different specifications.
The fact that CUDA launches blocks (of CUDA threads) for execution depending on resource availability ensures that the scheduler can fully utilize the cores without us having to specify a fixed number beforehand. This in some sense is similar to how ISPC launches 'tasks'. This also enables the same code to run on GPUs with different specifications.