~/talk

A comparison of OpenCL, CUDA, and HIP as compilation targets for a functional array(…)

Talkat FProPer 2024 · on Friday, 2024-09-06· [compilers-and-language-design]
links:none on file
slides:none on file

Compares code generated by the Futhark compiler for Futhark across OpenCL, CUDA, and HIP on an NVIDIA A100 and AMD MI100 using 48 benchmarks and finds performance ratios from 0.42x–1.72x between back ends. Root causes are concrete: OpenCL default compiler flags allow reduced floating‑point accuracy, the decoupled lookback scan works well on NVIDIA but fails under OpenCL forcing slower algorithms, OpenCL hides hardware limits like 256 thread blocks and lacks no FP atomics in OpenCL, plus API overhead and register allocation differences also explain gaps.

AI-written summary · about

  1. 0:00GPU compilation targets
  2. 1:03How GPUs work
  3. 3:32CUDA vs OpenCL vs HIP
  4. 6:40API comparison challenges
  5. 8:46F language parallelism
  6. 11:33GPU backends in F compiler
  7. 15:24Performance comparison methodology
  8. 17:08Benchmark results
  9. 18:32Performance differences
  10. 19:12Floating point precision
  11. 21:04Scan algorithms limits
  12. 22:47Thread blocks shared memory
  13. 25:55OpenCL block size limits
  14. 26:37Cache and API queries
  15. 28:24API overhead small workloads
  16. 30:12Bounds checking optimizations
  17. 31:55Register allocation compute
  18. 33:42Floating point atomics
  19. 34:24Solutions and improvements
  20. 36:09Conclusions and recommendation
  21. 38:10Q&A: Abstraction layer
  22. 39:18Q&A: Speed of light
  23. 40:40Q&A: Memory models
  24. 42:09Q&A: Tensor cores
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.