TornadoInsight Brings The Power Of TornadoVM Inside Intellij
Written by Nikos Vaggalis   
Thursday, 22 February 2024

TornadoInsight is plugin for Jetbrain's popular Intellij IDE for Java developers, that makes working with TornadoVM a much smoother experience.

But first a quick refresher - what is TornadoVM?

TornadoVM is a plug-in to OpenJDK that allows developers to automatically run Java programs on heterogeneous hardware.
That means that TornadoVM allows you to run Java on GPU's, FPGAs and dedicated hardware in order to achieve massive gains in performance. Being able to run on such hardware opens the gates to running resource-hungry applications in Machine Learning, NLP or LLM. And computer graphics too.

The gist is that it allows developers to write code that can be easily offloaded to hardware accelerators without having to get deep into the underlaying computing architectures or heterogeneous parallel programming models.

Tornado recently matured to version 1. 0, adding support for JDK21 and the GraalVM 23.1.0 JIT Compiler. As such TornadoInsight itself in order to work needs TornadoVM version v1.0 onwards as well as JDK 21 onwards.

And with that TornadoInsight integrates two very useful features in Intellij:

1. On-the-Fly Static Checker
Because TornadoVM supports a subset of Java, TornadoInsight provides an on-the-fly static checker which scans TornadoVM code in real time, pinpointing any Java features that are not supported by TornadoVM.

If any discrepancies are found then it notifies the developer so that he turns his attention to the potential compatibility issues and make the appropriate corrections.

Currently, the static checker performs checks for datatypes, Traps/Exceptions, recursion, native method calls, assert statements:

tornado1

2. Dynamic Testing Framework
This framework simplifies the testing process for individual TornadoVM tasks. It automatically wraps the tasks, invoking the native TornadoVM runtime on the developers' machines for seamless debugging and testing.

Developers can just select one or more tasks, click the Run button in the Toolbar to run the test, and TornadoInsight will show a console containing the test results. If a TornadoVM task was compatible with the TornadoVM guidelines, the test will output the generated OpenCL kernel code for it. If not, it will output an exception.

You can either build the plugin yourself by gaining the code from its Github repo, or better yet easily install it from the Jetbrains marketplace.

So after installing JDK21, TornadoVM and the plugin in that order, you'll need to kickstart your journey with something to code inside Intellij. For that I would recommend cloning the Java Ray Tracer for TornadoVM project and start hacking on it!

 

More Information

TornadoInsight on the Marketplace

Github repo

Java Ray Tracer project

Related Articles

TornadoVM Reaches Version 1.0 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Extend NGINX With The New JavaScript Module
28/10/2024

Inject middleware functionality into NGINX with the expressive power of Javascript. NGINX JavaScript or NJS for short is a dynamic module under which you can use scripting for hooking into the NGINX e [ ... ]



JavaZone - The Conference We Missed
25/10/2024

Amongst the many Java related conferences, this one flew under the radar. A real shame because it had many great sessions.
JavaZone might not be that famous internationally, but it still is the bi [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 22 February 2024 )