4 ms·
TornadoVM: A practical and efficient heterogeneous programming framework
- atdrummond 5y agoWe are currently implementing Tornado on a Clojure + Graal install. Even with our partial, non-optimised version, we are seeing a speed-up greater than an order of magnitude. I presently estimate an infrastructure savings of nearly 70% versus our current Azure spend. I will post a postmortem once completed if it would be of interest.
- brabel 5y agoThat would be really great if you could write more about that! Sounds incredible.
- atdrummond 5y agoWill do. Any recommendations on where I should post our findings? I don't have any personal blogs.
- twh270 5y agoMedium is dead simple. Create an account and click the icon to write an article. Publish and share.
- brabel 5y agoSome people write GitHub gists as that's the simplest possible way to do it, probably (or the equivalent on BitBucket/GitLab etc) and it's pretty decent with good support for code samples. Otherwise, if you want to start a real blog, I recommend a static site generator[1] and one of the free services like Netlify, GitHub Pages or Cloudflare (which has free, cool domains like your-name.pages.dev). [1] https://jamstack.org/generators/ https://jamstack.org/generators/
- fulafel 5y agoWhat type of hardware are you using? As the README advertises possibilities for multicore CPUs, GPUs, and FPGAs.
- sorokod 5y agoSure it will be a postmortem and not a postpartum?
- capableweb 5y agoWebsite: https://www.tornadovm.org/ https://www.tornadovm.org/ Best description of what it is and why it's interesting: > What can TornadoVM do? > TornadoVM accelerates parts of your Java applications on heterogeneous hardware devices such as multicore CPUs, GPUs, and FPGAs. > TornadoVM primarily supports Java. However, with the integration with GraalVM you can call your TornadoVM-compatible Java code through other programming languages supported by GraalVM's polyglot runtime (e.g., Python, R, Ruby, Javascript, Node.js, etc). > Automatic code generation of OpenCL and Nvidia PTX, achieving portability across multi-core CPUs, GPUs and FPGAs.
- brrrrrm 5y agoAny benchmarks?
- RyanHamilton 5y agoHalf way down the page: https://www.infoq.com/articles/tornadovm-java-gpu-fpga/ https://www.infoq.com/articles/tornadovm-java-gpu-fpga/
- jfumero 5y agoYou can find benchmarks here: - https://jjfumero.github.io/files/VEE2019_Fumero_Preprint.pdf https://jjfumero.github.io/files/VEE2019_Fumero_Preprint.pdf - https://www.tornadovm.org/use-cases https://www.tornadovm.org/use-cases - https://www.research.manchester.ac.uk/portal/files/190177400/MPAPADIMITRIOU_VEE2021_GPU_MEMORY_JIT_Preprint.pdf https://www.research.manchester.ac.uk/portal/files/190177400... - https://www.research.manchester.ac.uk/portal/files/190176058/MPapadimitriou_VEE2021_MTMD.pdf https://www.research.manchester.ac.uk/portal/files/190176058... - https://arxiv.org/pdf/2010.16304v1.pdf https://arxiv.org/pdf/2010.16304v1.pdf Besides, TornadoVM integrates a benchmark script for users to run applications with Java JMH and OpenCL/PTX/Level-Zero profilers: - https://github.com/beehive-lab/TornadoVM/blob/master/assembly/src/bin/tornado-benchmarks.py https://github.com/beehive-lab/TornadoVM/blob/master/assembl...