2 ms·
> Julia has first-class support for GPU programming "First-class" is a steep claim. Does it support the nvidia perf tools? Those are very important for taking
by jjoonathan 6y ago
> Julia has first-class support for GPU programming
"First-class" is a steep claim. Does it support the nvidia perf tools? Those are very important for taking a kernel from (in my experience) ~20% theoretical perf to ~90% theoretical perf.
- klmadfejno 6y agohttps://developer.nvidia.com/blog/gpu-computing-julia-programming-language/ https://developer.nvidia.com/blog/gpu-computing-julia-progra...
- jjoonathan 6y ago> CUDAnative.jl also [...] generates the necessary line number information for the NVIDIA Visual Profiler to work as expected That sounds very promising, but these tools are usually magnificent screenshot fodder yet they are conspicuously absent from the screenshots so I still have suspicions. Maybe I'll give it a try tonight and report back.
- maleadt 6y agoHere's a screenshot: https://julialang.org/assets/blog/nvvp.png https://julialang.org/assets/blog/nvvp.png. Or a recent PR when you can see NVTX ranges from Julia: https://github.com/JuliaGPU/CUDA.jl/pull/760 https://github.com/JuliaGPU/CUDA.jl/pull/760
- jjoonathan 6y agoThanks! Now I believe! :)
- maleadt 6y agoYeah, see this section of the documentation: https://juliagpu.gitlab.io/CUDA.jl/development/profiling/ https://juliagpu.gitlab.io/CUDA.jl/development/profiling/. CUDA.jl also supports NVTX, wraps CUPTI, etc. The full extent of the APIs and tools is available. Source line association when using PC sampling is currently broken due to a bug in the NVIDIA drivers though (segfaulting when parsing the PTX debug info emitted by LLVM), but I'm told that may be fixed in the next driver.
- jjoonathan 6y agoNice! I set a reminder to check back in a month.