Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for JDK 22.0.2 and migrate to Graal compiler 24.0.2 #465

Draft
wants to merge 62 commits into
base: develop
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
38388c2
Update GraalVM for JDK22 support
mikepapadim May 14, 2024
c67a266
First working version
mikepapadim Jun 6, 2024
e1a677a
Fix pom file for jdk22
mikepapadim Jun 6, 2024
cb1be06
wip
mikepapadim Jun 14, 2024
117d0a0
wip
mikepapadim Jun 25, 2024
e957e4f
Add TornadoMemorySegment and update methods in FloatArray
mikepapadim Jun 26, 2024
4f0afeb
Enhance Tornado API with expanded memory segment operations
mikepapadim Jun 26, 2024
f98f686
Merge branch 'develop' of github.com:beehive-lab/TornadoVM into feat/…
mikepapadim Jun 26, 2024
dc142ce
Update import statements and rearrange methods
mikepapadim Jun 26, 2024
fa04b2b
Fix array initialization and remove debug output
mikepapadim Jun 26, 2024
d31dd65
Swap 'setAtIndex' and 'getAtIndex' functionalities in OCLGraphBuilder…
mikepapadim Jul 2, 2024
5d1019d
Update OpenCL graph building and vector handling
mikepapadim Jul 3, 2024
d7881fb
Refactor Tensor type classes for code consistency
mikepapadim Jul 3, 2024
98f79bb
Fix short array index in initialization
mikepapadim Jul 3, 2024
285a6f6
Add initial value for atomic integers in Tornado
mikepapadim Jul 4, 2024
e2af570
Refactor and optimize OCLGraphBuilder and TornadoAtomicsParameters
mikepapadim Jul 4, 2024
ea98443
Refactor atomic parameter initialization in TornadoAtomicsParametersP…
mikepapadim Jul 4, 2024
7f92f13
Refactor and clean up imports in PTX compiler code
mikepapadim Jul 4, 2024
d572a4d
Refactor code for improved readability and remove redundancy
mikepapadim Jul 4, 2024
9c2665f
Refactor code and update exports in ptx drivers
mikepapadim Jul 4, 2024
f7596ed
Refactor TornadoFixedArrayCopyPhase class
mikepapadim Jul 4, 2024
8ef58b2
Reorder code and fix HalfFloatPlaceholder receiver in OCLHalfFloatPlu…
mikepapadim Jul 5, 2024
1d87e70
Update method used in testFloat task
mikepapadim Jul 5, 2024
d0314f9
Remove unused code in ExceptionSuppression
mikepapadim Jul 5, 2024
2583246
Refactor code for plugins to be compliant with Graal 24.0.1
mikepapadim Jul 18, 2024
ce6dad2
Refactor PTXGraphBuilderPlugins in manually add SingExtendNode
mikepapadim Jul 18, 2024
b298c76
Update receiver handling in various plugins
mikepapadim Jul 18, 2024
aa602ff
Update method parameters in OCLHalfFloatPlugins
mikepapadim Jul 18, 2024
a9af1cc
Merge branch 'develop' into feat/jdk22_2nd_iteration
mikepapadim Jul 18, 2024
4d92f4a
Refactor PTXStamp class and update PTXVectorPlugins
mikepapadim Jul 19, 2024
0833d06
Update module dependencies in SPIR-V and PTX drivers
mikepapadim Jul 19, 2024
6ca4334
Update package names in SPIRV exports list
mikepapadim Jul 19, 2024
31ddc38
Update import statements to use jdk.graal namespace instead of org.gr…
mikepapadim Jul 19, 2024
431c455
Update SPIRV vector and graph builder plugins
mikepapadim Jul 19, 2024
429d8ad
Refactor SPIRVCompilationResultBuilder class by adjusting package ref…
mikepapadim Jul 19, 2024
859597b
Update TornadoHalfFloatReplacement class to handle newly introduced P…
mikepapadim Jul 23, 2024
d9f5b49
Refactor InvocationPlugin registration in OCLHalfFloatPlugins
mikepapadim Jul 23, 2024
2ea0926
[WIP] Refactor half float replacement and guard elimination methods f…
mikepapadim Jul 24, 2024
d97f909
Unify TornadoHalfFloatReplacement phase functionality amonmg all back…
mikepapadim Jul 24, 2024
2ccfb9b
Merge branch 'feat/jdk22_2nd_iteration' of github.com:mikepapadim/Tor…
mikepapadim Jul 24, 2024
302ff19
Implement cleanup of Pi nodes in TornadoHalfFloatReplacement
mikepapadim Jul 24, 2024
faad244
Refactor `isCompatible` method in PTXStamp.java
mikepapadim Jul 24, 2024
2846671
Merge branch 'feat/jdk22_2nd_iteration' of github.com:mikepapadim/Tor…
mikepapadim Jul 24, 2024
f425242
Add RemoveValueProxyPhase in SPIRVLowTier.java
mikepapadim Jul 25, 2024
22f1c69
Improve PiNode replacement handling in SPIRV transformations
mikepapadim Jul 25, 2024
090f9d1
Add RemoveValueProxyPhase to SPIRVMidTier pipeline
mikepapadim Jul 25, 2024
0c28c94
Update Graal JAR version to 24.0.2
mikepapadim Jul 27, 2024
84ddec8
Merge branch 'develop' into feat/jdk22_2nd_iteration
mikepapadim Jul 27, 2024
b7d672a
Merge remote-tracking branch 'origin' into feat/jdk22_2nd_iteration
mikepapadim Jul 27, 2024
be1fdfa
Remove extra `--ea` flags from test commands
mikepapadim Jul 27, 2024
67b7604
Merge branch 'feat/jdk22_2nd_iteration' of github.com:mikepapadim/Tor…
mikepapadim Jul 27, 2024
2ffe8ac
Update `isCompatible` to handle `ObjectStamp` in `OCLStamp`
mikepapadim Jul 29, 2024
cdd1784
Simplify SPIRVStamp compatibility check
mikepapadim Jul 29, 2024
f500922
[feat] Update graalvm version in pom file
stratika Jul 29, 2024
6c58f20
Refactor method to use fromJavaKind over fromResolvedJavaType
mikepapadim Jul 30, 2024
e5efad2
Merge branch 'feat/jdk22_2nd_iteration' of github.com:mikepapadim/Tor…
mikepapadim Jul 30, 2024
c0f6e63
Update installer_config.py for JDK 22
stratika Jul 31, 2024
e63d1bd
Update tornadovm-installer
stratika Jul 31, 2024
a6c083b
Update installer_config.py
stratika Jul 31, 2024
dec5a87
Update installer_config.py
stratika Jul 31, 2024
ac27953
Update Makefile.mak
stratika Aug 1, 2024
e6b5dca
Update Makefile.mak with new rules same as in Makefile
stratika Aug 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,14 @@ public boolean isCompatible(Constant constant) {

@Override
public boolean isCompatible(Stamp stamp) {
if (stamp instanceof OCLStamp && ((OCLStamp) stamp).oclKind == oclKind) {
return true;
}
if (stamp instanceof OCLStamp) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we have also this for the PTX backend?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we do have it: faad244

return true;
} else if (stamp instanceof ObjectStamp) {
OCLKind stampKind = OCLKind.fromResolvedJavaType(((ObjectStamp) stamp).type());
if (stampKind == oclKind) {
return true;
}
}

unimplemented("stamp iscompat: %s + %s", this, stamp);
return false;
Expand Down