3 ms·
Then again CUDA is pretty accessible language to program SIMD machines. I am bit sceptic if most people would recognise subjectively well-done SIMD language (le
by Jhsto 6y ago
Then again CUDA is pretty accessible language to program SIMD machines. I am bit sceptic if most people would recognise subjectively well-done SIMD language (lets say from correctness and performance standpoint). The programming model for SIMD is inherently parallel with exceptions for sequential code, which is pretty much the exact opposite of the programming you do on the CPU side. I'd somehow imagine most people would not find that modern at all, or alternatively, it would not be the language with "product market fit" since it's less likely to catch on. AMD or Intel may have a "better" language in some sense, but it seems most people prefer familiarity with what they already know.
- shmerl 6y agoCUDA is still stuck with Nvidia only. So improving on that and on the language itself is clearly an open item.
- Jhsto 6y agoWell, oneAPI can be used to do that. This submission is most likely in reference of a post a few days ago [1]. Here, PTX which CUDA targets is retargeted into SPIR-V which is ran atop oneAPI [2]. [1]: https://news.ycombinator.com/item?id=26262038 https://news.ycombinator.com/item?id=26262038 [2]: https://spec.oneapi.com/level-zero/latest/index.html https://spec.oneapi.com/level-zero/latest/index.html
- moonbug 6y agobut almost no one codes to the CUDA driver api.
- marmaduke 6y ago> I am bit sceptic if most people would recognise subjectively well-done SIMD language (lets say from correctness and performance standpoint) I found ISPC (https://ispc.github.io https://ispc.github.io) to be a little easier to work with than CUDA, for SIMD on CPUs, as it sits a bit in the middle of the CUDA and regular C models. Interop can work via C ABI i.e. trivial, it generates regular object files, and so on.