TornadoVM: Accelerating Java with GPUs with Juan Fumero
What is Tornado VM? What value does it add? Yet. So Tornado VM is a new way to your applications without worrying about Howard details. On. They user at the end of the day, you don't have to worry about this by codes nothing that this is how it works internally. So the value that we are, he's done the implication is something easy to understand your right serial code. So couponing cool and You have to write parliament you have seen in parallel. Mbingwa in Tornado Deride Serial Code each task is a serial. Then, Tornado will paralyze it for you basically. So they using only things only need to think what do I want not how do I want to perform to another will manage how do you want basically TO GET MAXIMUM PERFORMANCE And that's the main value. Yet, another thing is donated can dynamically change device. So because now we have uplift four of multiple devices we have one sip hugh, one view or multiple-use. Perhaps, if Jay, so now we're to run the Colt. The now becomes a mess right because I want to maximize performance but tornado has a mode that can figure out which one's the best achieve Bet Bay performance better performance. And how much better performance are we talking about? This happens on on the device run but typically we're talking about one two or three of magnitude faster than Java. DM compared with C. to grab him for example, the FDA application is A. Petition for digital, processing. Is, very. Simple program is just tune still loops and album of calculations. Square would things like that. And you can get easily thousand, one, thousand, two, thousand and ex compared to Java seat to compiler or growl vm. Most of the performance become. Because of the power of the GPO right of the device in this case. We also, because we scrawl and we comply with crowd, we can optimize things father that you don't see. Kelly like I'm rolling blue and then evaluate constant and so on. So we can get also bit faster in that sense but normally the speedup comes from the device so just to some of your questions. So on GPS, we get around to magnitude on effigies these harder to get performance from conceal. Some cases to about one to two of magnitude in the best case scenario. You mentioned that this is a good fit for pretty much any data intensive applications. So let's have already got a date intensive application written. Is there a way to port it to the Tornado VM? Yet so We're actually working with some of the partners. We haven't the project to do this. They have already existing applications and they were deported to. We have some as soon as you comply with it ornate of the restrictions. We don't support the whole Java. Okay. We'll help support a subset is possible to run it with Tornado. VM. Yes but it it really depends application. So the output of Tornado vm is it a Java Programmer Residency Program? What is the lowest level? Execution Situation? The output of Tornado. VM see program source. Code. Which means that we will need another compiler to compare to the final binary. But because we execute up in Seattle with open supermodel, that's part of the actual driver in. So we pass the Kennel. Generate to the driver, and then we'll do the final compilation. So, that's a branch of the code we have now in public. But now we're working on another. Extension actually. So instead of going to open here, we got pediatrics. Okay. Stay the machine goes simply called. Kind of is an obstacle for NBC devices. Okay Barley security threats. And in this case, we also need the final driver defined by the driver. But it's lower level. So pets close to Saint Louis Assembly code east of secret.