DirectXShaderCompiler
onnxruntime
DirectXShaderCompiler | onnxruntime | |
---|---|---|
33 | 54 | |
2,918 | 12,736 | |
1.0% | 2.7% | |
0.0 | 10.0 | |
2 days ago | 6 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DirectXShaderCompiler
-
Building the DirectX shader compiler better than Microsoft?
> We may support DXBC generation in Clang in the future (we mentioned that in the original proposal to LLVM). That work is unlikely to begin for a few years as our focus will be on supporting DXIL and SPIR-V generation first.
I appreciate this quote[0] from the microsoft camp. Setting clear expectations that something will not be done is a nice bit of fresh air.
[0] https://github.com/microsoft/DirectXShaderCompiler/issues/57...
-
Vcc – The Vulkan Clang Compiler
There's no need for transpilers these days, you can just compile HLSL to SPIR-V bytecode with dxc.
https://github.com/microsoft/DirectXShaderCompiler
-
Shader Compilation
Use DXC and only HLSL for your main shader editing.
-
Apple's Game Porting Toolkit seems to have a D3DMetal.framework with full implementations of DirectX 12 to 9 on Metal
You can see libdxilconv in there, DXIL is the DirectX Intermediate Representation, documented in the open source shader compiler from Microsoft.
-
Proper way to access a read-only texture that has no sampler from an hlsl compute shader?
BTW, this problem can be reproduced as described below: - clone https://github.com/SaschaWillems/Vulkan.git - build the project and run it with arguments : -v - s hlsl to enable the validation layer and to use hlsl code - run ComputeShader project. The following validation error "Type mismatch on descriptor slot ..." will be shown in the console. - to fix it, as suggested above, you can replace the 3rd line of emboss.comp, sharpen.comp, and edgedetect.comp from: Texture2D inputImage : register(t0); //Creates validation errors to RWTexture2D inputImage : register(u0); //no validation errors (you'll then need to recompile the shaders to spv with a proper hlsl compiler such as Microsoft dxc)
-
Start project on Metal, port to DX11?
EDIT: There is also naga but it does not take HLSL as input: https://github.com/gfx-rs/naga but you can use DirectXShaderCompiler to compile to SpirV, then use naga to compile to Metal.
-
Using WebGPU as a graphics API for native C++ applications
🤨 For a "refusal to acknowledge it", they do appear to have a rather sizeable document mapping between HLSL and SPIR-V? https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst
- What amazing things do you guys do with LLVM?
-
Is SPIRV-Cross a valid option to target Metal from HSSL?
I am starting work on a compute-driven rendering engine, and it seems that the best way to go around it will be to write code in HSSL, and then use DirectXShaderCompiler to generate SPIR-V, and SPIRV-Cross to then generate MSL. And while DXSC's repo has a page on incompatibilities, no such resource seems to exist for SPIRV-Cross targeting Metal.
-
Learning DirectX 12 in 2023
DirectX Shader Compiler
onnxruntime
-
Machine Learning with PHP
ONNX Runtime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
-
AI Inference now available in Supabase Edge Functions
Embedding generation uses the ONNX runtime under the hood. This is a cross-platform inferencing library that supports multiple execution providers from CPU to specialized GPUs.
-
Deep Learning in JavaScript
tfjs is dead, looking at the commit history. The standard now is to convert PyTorch to onnx, then use onnxruntime (https://github.com/microsoft/onnxruntime/tree/main/js/web) to run the model on the browsdr.
- FLaNK Stack 05 Feb 2024
-
Vcc – The Vulkan Clang Compiler
- slang[2] has the potential, but the meta programming part is not as strong as C++, existing libraries cannot be used.
The above conclusion is drawn from my work https://github.com/microsoft/onnxruntime/tree/dev/opencl, purely nightmare to work with thoes drivers and jit compilers. Hopefully Vcc can take compute shader more seriously.
[1]: https://www.circle-lang.org/
-
Oracle-samples/sd4j: Stable Diffusion pipeline in Java using ONNX Runtime
I did. It depends what you want, for an overview of how ONNX Runtime works then Microsoft have a bunch of things on https://onnxruntime.ai, but the Java content is a bit lacking on there as I've not had time to write much. Eventually I'll probably write something similar to the C# SD tutorial they have on there but for the Java API.
For writing ONNX models from Java we added an ONNX export system to Tribuo in 2022 which can be used by anything on the JVM to export ONNX models in an easier way than writing a protobuf directly. Tribuo doesn't have full coverage of the ONNX spec, but we're happy to accept PRs to expand it, otherwise it'll fill out as we need it.
- Mamba-Chat: A Chat LLM based on State Space Models
-
VectorDB: Vector Database Built by Kagi Search
What about models besides GPT? Most of the popular vector encoding models aren't using this architecture.
If you really didn't want PyTorch/Transformers, you could consider exporting your models to ONNX (https://github.com/microsoft/onnxruntime).
- ONNX runtime: Cross-platform accelerated machine learning
- Onnx Runtime: “Cross-Platform Accelerated Machine Learning”
What are some alternatives?
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
onnx - Open standard for machine learning interoperability
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
onnx-tensorrt - ONNX-TensorRT: TensorRT backend for ONNX
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
onnx-simplifier - Simplify your onnx model
macOS_Wine_builds - Official Winehq macOS Packages
ONNX-YOLOv7-Object-Detection - Python scripts performing object detection using the YOLOv7 model in ONNX.
ShaderConductor - ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
onnx-tensorflow - Tensorflow Backend for ONNX
SPIRV-Cross - SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
MLflow - Open source platform for the machine learning lifecycle