Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

CUDA has a much simpler API (and your entire program can be written in CUDA C) because it makes assumptions about the hardware you're using. OpenCL is for 'computing on heterogeneous platforms' meaning that if you do it right, your code can run on multithreaded CPUs, NVIDIA GPUs, ATI GPUs, or any device that conforms to the OpenCL standard. The tradeoff is that you have to write a lot of accessory code to make sure you're computing on the right device and conforming to the capabilities of that device... and these decisions have to be made at runtime unless you specifically know the platform and devices attached to the host but then your code isn't very portable.

So for a proof of concept it makes sense to go with CUDA so you can play with the algorithms and not worry about all the other stuff.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: