3 ms·
> Launching kernels from within other kernels. This feature exists? It’s news to me if so and I would be interested. Is it brand new? Can you link to the relev
by dahart 4y ago
> Launching kernels from within other kernels.
This feature exists? It’s news to me if so and I would be interested. Is it brand new? Can you link to the relevant documentation?
I’m pretty lost as to why this would represent something bad in your mind, even if it does exist. Is this what you’re saying causes a 10x drop in perf? CUDA has lots of high level scheduling control that is convenient and doesn’t overall affect perf by much but does reduce developer time. This is true of C++ generally and pretty much all computing platforms I can think of for CPU work. There are always features that are convenient but trade developer time for non-optimal performance. Squeezing every last cycle always requires loads more effort. I don’t see anything wrong with acknowledging that and offering optional faster-to-develop solutions alongside the harder full throttle options, like all platforms do. Framing this as a negative and a CUDA specific thing just doesn’t seem at all accurate.
Anyway I’d generally agree a 10x drop in perf is bad and reason to question convenience. What feature does that? I still don’t know what you’re referring to.
- einpoklum 4y ago> Is it brand new? No, it's 5 years old or so. > Can you link to the relevant documentation? https://developer.nvidia.com/blog/cuda-dynamic-parallelism-api-principles/ https://developer.nvidia.com/blog/cuda-dynamic-parallelism-a... > and doesn’t overall affect perf by much Oh, but it very easily does. Slow I/O to the device, no parallelization of I/O and compute, etc - are all extremely easy pitfalls to walk into.