Hacker News new | ask | show | jobs
by owlbite 1031 days ago
The only problem with cross-platform standards is they are never performance portable unless they're so high level someone already their primitives have already implemented the algorithm X different ways for you already.

For any low level performance programming you need to code to the specific microarchitecture, so the pros of a single programming language/library are limited (you're not getting any code reuse that isn't available in the top level non-hardware C code anyway) and often outweighed by the ability to take advantage of the vendor's dedicated extensions provided by their preferred programming mechanism.

This issue was well modeled by OpenCL, which never really caught on for programming Nvidia GPUs for this reason.