Replies: 3 comments 9 replies
-
|
Because software rendering is very sensitive to any failure to vectorize control flow, I plan to create a simpler shader language similar to Halide. Then I can integrate it directly with the image types for easy use, create templates for different ways of iterating over the image, integrate vertex shaders with the 3D rendering pipeline, and build on top of the existing hardware abstraction layer in simd.h so that the compiler becomes more timeless and requires less maintenance. This should hopefully make the framework more accessible to junior developers who are not used to low level programming but want the robustness of software rendering. With a more powerful general purpose language such as ISPC, a beginner is more likely to accidentally write code that can not be vectorized due to procedural control flow, similar to the auto vectorization features that already exist in C++ compilers. Functional language features can instead guarantee that the code will be translated into operations on portable SIMD vectors, which will be vectorized when available in the target hardware. |
Beta Was this translation helpful? Give feedback.
-
|
by the way also, at the moment, even old GTX750 has more flops than high-end AMD Ryzen7 |
Beta Was this translation helpful? Give feedback.
-
|
@Dawoodoz Have you tested template-only code without simd for performance using a clang compiler where superior automatic vectorization is present? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Have you considered using ISPC ?
Beta Was this translation helpful? Give feedback.
All reactions