4 ms·
Can someone explain what is new here? Does OpenJDK have autovectorization or is it just getting added to GraalVM now?
by hoschicz 7y ago
Can someone explain what is new here? Does OpenJDK have autovectorization or is it just getting added to GraalVM now?
- boyter 7y agoI had always believed the OpenJDK did based on this http://prestodb.rocks/code/simd/ http://prestodb.rocks/code/simd/ which was on HN a while ago https://news.ycombinator.com/item?id=14636802 https://news.ycombinator.com/item?id=14636802 so yes? This is really out of my depth though, would love someone who actually knows this area to pipe in.
- xyzzy_plugh 7y agoNo, afaik this was not a default optimization. There are SIMD optimizations in specific paths but I'm not aware of general low level autovectorizations before this (outside of ORC/OIL which was never generally available for JVM afaik)
- zjaffee 7y agoSuperUser is enabled by default on openJDK, but it's incredibly simplistic vectorizations being done as can be seen in the article the person above posted.
- StreamBright 7y agoIt is getting added to Graal now. Disabled by default. OpenJDK has it for some architecture, I think Intel contributed it for x86 and there is this for aarch64. https://www.slideshare.net/mobile/linaroorg/auto-vectorization-support-in-openjdk9-hotspot-c2-compiler-bud1711 https://www.slideshare.net/mobile/linaroorg/auto-vectorizati... Update: This is about the FOSS edition not the EE one. See comment below.
- pgrulich 7y agoSo for Graal we have the situation that Graal EE (Enterprise Edition) has auto-vectorization. However, its not in the open-source version as Oracle holds it back. The implementation in this issue is however provided by Twitter.
- StreamBright 7y agoSorry I am not aware of EE and its features, I should have added that my comment was about the FOSS edition.
- pjmlp 7y agoOne should also note that if it wasn't for Oracle, MaximeVM would have been yet another cool dead technology out of Sun Research Labs. So quite the opposite of holding it back.
- amalter 7y agoI think Graal and Graal EE on Oracle Cloud is one of the smartest product moves out of Oracle in .... idk ... forever? However, it seems like a knifes edge to walk on. If Graal CE gets uptake, are there enough compiler folks at Redhat, Azul, Google, et. al. to shrink (or overtake) the Graal EE performance edge. Graal CE must be “good enough” to get people hooked that they then want to hold their nose enough to engage with Oracle (through Cloud or license). Maybe the management and visualization advantages are enough? I don’t think so though. I also don’t think it will pay off (despite the incredible technical achievement that Graal is). I was just talking with an ex-Oracle SMB sales rep, and they left because they would persuade businesses off SQL Server on technical merits, only to see their clients steamrolled by the Compliance Department a year later. Larry is, 75 years old or so? I think recent Microsoft history can show goodwill can be created quickly, but it must be done from the top down.
- pjmlp 7y agoCommercial JDKs do pay off, so much that many of the commercial AOT compilers (since around 2000) are still in business, although with the ongoing support on OpenJDK that might change a bit (ExcelsiorJET just gave up). JIT and GC algorithms to the level done by JVM implementations don't come up with all nighters and weekend programming scratching an itch, and those software engineers need to be payed accordingly. So if others have a problem with Oracle, maybe they could compensate for the fact that Oracle employees still do 90% of Java development and OpenJDK related work.