4 ms·
VLIW still lives today in various guises. GPUs are the most obvious. Even the M1 could be argued to be close, it’s a very wide machine.
by dontlaugh 4y ago
VLIW still lives today in various guises. GPUs are the most obvious.
Even the M1 could be argued to be close, it’s a very wide machine.
- skavi 4y agoRecent GPUs have been RISC for some time now. Since AMD replaced their TeraScale architecture.
- flohofwoe 4y agoCan GPUs really be considered VLIW just because they might share an instruction pointer across a couple of 'micro cores'? AFAIK they went even back from SIMD to scalar a long time ago.
- dontlaugh 4y agoI suppose. They’re still very wide machines, which to me seems like the most interesting aspect of VLIW. Of course actual VLIW still are around as DSPs.
- wespiser_2018 4y agoNo, I don't think so. It's one instruction on multiple data (SIMD). That's the essence of a vector op!
- wespiser_2018 4y agoNo, not really. VLIW is considered: Multiple Instruction Multiple Data, in each line of assembly you can send out something like 4 (or 8) instruction each with a different target, and it will work as long as there aren't dependency issues. GPUs are still Single Instruction Multiple Data (SIMD), for every vector operation you are doing operation: adding vectors, taking a dot production you are only executing a single op at a time. SIMDs are really close to the RISC/CISC paradigm, and there's various extensions for other types of SIMD processing in different ISAs used today. VLIW is a much different set of assumptions, requiring the compiler to program in the same instruction level parallelism that a superscalar chip will parallelize via it's architectural features (pipelines/branch prediction/et cetera).
- trelane 4y ago> GPUs are still Single Instruction Multiple Data (SIMD), for every vector operation you are doing operation: adding vectors, taking a dot production you are only executing a single op at a time. Sort of. It's both, really. On nvidia at least, the threads in the warp are simd, but between warps it's mimd. And that's before we get into SMs.
- fulafel 4y agoQualcomm basebands apparently use VLIW in baseband in an architecture they called Hexagon: https://www.llvm.org/devmtg/2017-02-04/Halide-for-Hexagon-DSP-with-Hexagon-Vector-eXtensions-HVX-using-LLVM.pdf https://www.llvm.org/devmtg/2017-02-04/Halide-for-Hexagon-DS... VLIW seems quite suited to DSP / SDR applications.
- fulafel 4y agoBetter PDF with architecture picture about where it's used: https://developer.qualcomm.com/download/hexagon/hexagon-dsp-architecture.pdf https://developer.qualcomm.com/download/hexagon/hexagon-dsp-... More links: https://en.wikichip.org/wiki/qualcomm/microarchitectures/hexagon https://en.wikichip.org/wiki/qualcomm/microarchitectures/hex... https://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_micro2014_v6.pdf https://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_micro2014... https://blog.tensorflow.org/2019/12/accelerating-tensorflow-lite-on-qualcomm.html https://blog.tensorflow.org/2019/12/accelerating-tensorflow-...
- hajile 4y agoAMD's latest RDNA3 is explicitly VLIW with the VLIW instructions working on SIMD units. Ironically, they are also running head first into the compiler issues with almost nothing around taking advantage of their dual issue potential.
- hajile 4y agoVLIW has nothing to do with width and everything to do with explicit ILP (instruction level parallelism).