4 ms·
I know little about Cranelift, it seems to be mostly functionally equivalent to LLVM, but have a smaller footprint because of intentional design tradeoffs. Cou
by justicezyx 6y ago
I know little about Cranelift, it seems to be mostly functionally equivalent to LLVM, but have a smaller footprint because of intentional design tradeoffs.
Could someone more enlightened share an overview of Cranelift's capability in handling deep learning relevant compiling tasks: gemm optimization, data flow, scheduling, GPU backend, etc?
Also, it seems Cranelift only has one IR format as the interface to the language frontend. Does it have things like MLIR to bridge diverse optimization needs of multiple different languages?
- Rusky 6y agoCranelift is designed to do very little optimziation, in exchange for being very simple and fast compared to LLVM. Its use cases include debug builds of Rust code, JIT-ing WebAssembly (which is pre-optimized), etc. So I would expect it to have very little overlap with deep learning. No high-level optimizations to do with matrices or dataflow or scheduling; currently no GPU backends; no integration with MLIR (though that one seems completely doable if someone put in the effort).
- bobajeff 6y agoI wonder if Cranelift would be useful for making a C++ REPL.
- ibraheemdev 6y agoHopefully it will be used as a backend for a Rust REPL.
- nly 6y agoIs cling not good enough? (It disables most optimizations) https://github.com/root-project/cling https://github.com/root-project/cling