oneDNN
asmjit
Our great sponsors
oneDNN | asmjit | |
---|---|---|
5 | 9 | |
3,456 | 3,801 | |
2.5% | 1.7% | |
10.0 | 8.2 | |
2 days ago | about 1 month ago | |
C++ | C++ | |
Apache License 2.0 | zlib 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.
oneDNN
-
Blaze: A High Performance C++ Math library
If you are talking about non-small matrix multiplication in MKL, is now in opensource as a part of oneDNN. It literally has exactly the same code, as in MKL (you can see this by inspecting constants or doing high-precision benchmarks).
For small matmul there is libxsmm. It may take tremendous efforts make something faster than oneDNN and libxsmm, as jit-based approach of https://github.com/oneapi-src/oneDNN/blob/main/src/gpu/jit/g... is too flexible: if someone finds a better sequence, oneDNN can reuse it without major change of design.
But MKL is not limited to matmul, I understand it...
-
Arc & Deep Learning Frameworks
For completeness, it looks like this question was posted to the oneDNN GitHub repo and the response was to stay tune for updates.
- Keeping POWER relevant in the open source world
-
Intel oneDNN 2.5 released with experimental RISC-V support
From the release note of oneDNN v2.5:
-
Is gpu hardware tied to cpu ISA ?
Intel are trying to support their oneAPI compute framework on Arm and IBM POWER and z/Architecture (s390x) but since they ever released only a single discrete GPU with the Xe architecture it's unclear whether they'll support Xe GPU compute on e.g. ARM https://github.com/oneapi-src/oneDNN
asmjit
-
The 6502 instruction set as a database
Some other instruction sets in some JSON: https://github.com/asmjit/asmjit/tree/master/db
-
30 years of DOOM: new code, new bugs
The attentive reader may notice that this code is from a third-party library. So, we didn't want to include it in the article at first. However, we found something interesting. In 2017, somebody opened an issue in the asmjit project: the GCC 7.2 compiler issued a warning to the code above. The project authors fixed it:
-
How do I get the registers of a process in C++?
You can use something like https://asmjit.com/ to generate and call x64 code at runtime.
- Ask HN: Recommendation for general purpose JIT compiler
-
Compiler Design in C++
But an easy to create a JIT would be to use https://github.com/asmjit/asmjit, which is used in RPCS3.
-
Are there any low level, cross platform assembly languages that allow jumping to non labels?
You could go the way of https://asmjit.com (or forth) and make it your assembler DSL on top of the low-level call.
-
C++ libraries for filtering collections and expression trees
But if you're willing to get closer to the hardware is https://github.com/bitfunnel/nativejit/ and https://asmjit.com/
- AsmJit
-
Wrapping dynamically generated void(*)() pointers in try-catch?
https://github.com/asmjit/asmjit is nice. But using a JIT seems like a sledgehammer working around a lacking design.
What are some alternatives?
oneMKL - oneAPI Math Kernel Library (oneMKL) Interfaces
fasmg - flat assembler g - adaptable assembly engine
CTranslate2 - Fast inference engine for Transformer models
mir - A lightweight JIT compiler based on MIR (Medium Internal Representation) and C11 JIT compiler and interpreter based on MIR
oneDPL - oneAPI DPC++ Library (oneDPL) https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-library.html
mlibc - Portable C standard library
highway - Highway - A Modern Javascript Transitions Manager
dynarmic - An ARM dynamic recompiler.
librealsense - IntelĀ® RealSenseā¢ SDK
Cwerg - The best C-like language that can be implemented in 10kLOC.
Reloaded-II - Next Generation Universal .NET Core Powered Mod Loader compatible with anything X86, X64.
ChrysaLisp - Parallel OS, with GUI, Terminal, OO Assembler, Class libraries, C-Script compiler, Lisp interpreter and more...