Skip to content

Commit a3e7bfe

Browse files
[GrCUDA-82] support for graalvm 21.3 (#35)
* updated install for graal 21.3 * updated changelog for release 2 * updated url of grcuda repo in installation script
1 parent 920f52c commit a3e7bfe

File tree

3 files changed

+34
-30
lines changed

3 files changed

+34
-30
lines changed

CHANGELOG.md

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# 2021-12-21, Release 2
2+
3+
* Added support for GraalVM 21.3.
4+
* Removed `ProfilableElement` Boolean flag, as it was always true.
5+
16
# 2021-11-29
27

38
* Removed deprecation warning for Truffle's ArityException.
@@ -11,14 +16,14 @@
1116
# 2021-11-17
1217

1318
* Added the support of precise timing of kernels, for debugging and complex scheduling policies
14-
* Associated a CUDA event to the start of the computation in order to get the Elapsed time from start to the end
15-
* Added ElapsedTime function to compute the elapsed time between events, aka the total execution time
16-
* Logging of kernel timers is controlled by the grcuda.TimeComputation option, which is false by default
19+
* Associated a CUDA event to the start of the computation in order to get the elapsed time from start to the end
20+
* Added` ElapsedTime` function to compute the elapsed time between events, aka the total execution time
21+
* Logging of kernel timers is controlled by the `grcuda.TimeComputation` option, which is false by default
1722
* Implemented with the ProfilableElement class to store timing values in a hash table and support future business logic
18-
* Updated documentation for the use of the new TimeComputation option in README
23+
* Updated documentation for the use of the new `TimeComputation` option in README
1924
* Considerations:
20-
* ProfilableElement is profilable (=true) by default, and any ConfiguredKernel is initialized with this configuration. To date, there isn't any usage for a ProfilableElement that is not profilable (=false)
21-
* To date, we are tracking only the last execution of a ConfiguredKernel on each device. It will be useful in the future to track all the executions and leverage this information in our scheduler
25+
* `ProfilableElement` is profilable (`true`) by default, and any `ConfiguredKernel` is initialized with this configuration. To date, there isn't any use for a `ProfilableElement` that is not profilable (`false`)
26+
* To date, we are tracking only the last execution of a `ConfiguredKernel` on each device. It will be useful in the future to track all the executions and leverage this information in our scheduler
2227

2328
# 2021-11-15
2429

@@ -32,7 +37,6 @@
3237
* Changed all the print in the source code in log events, with different logging levels
3338
* Added documentation about logging in docs
3439

35-
3640
# 2021-10-13
3741

3842
* Enabled support for cuBLAS and cuML in the async scheduler

mx.grcuda/suite.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"suites": [
5757
{
5858
"name": "truffle",
59-
"version": "c541f641249fb5d615aa8e375ddc950d3b5b3715",
59+
"version": "84541b16ae8a8726a0e7d76c7179d94a57ed84ee",
6060
"subdir": True,
6161
"urls": [
6262
{"url": "https://github.com/oracle/graal", "kind": "git"},

oci_setup/setup_machine_from_scratch.sh

+22-22
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,27 @@ sudo apt install -y curl
5454
# At the bottom of this guide, it is explained how to install EE;
5555
git clone https://github.com/oracle/graal.git
5656
git clone https://github.com/graalvm/mx.git
57-
git clone https://github.com/AlbertoParravicini/grcuda.git
57+
git clone https://github.com/necst/grcuda.git
5858

59-
# checkout commit of GraalVM corresponding to the release (21.2);
59+
# checkout commit of GraalVM corresponding to the release (21.3);
6060
cd graal
61-
git checkout e9c54823b71cdca08e392f6b8b9a283c01c96571
61+
git checkout 84541b16ae8a8726a0e7d76c7179d94a57ed84ee
6262
cd ..
6363

6464
# checkout commit of mx compatible with versions of other tools;
6565
cd mx
66-
git checkout d6831ca0130e21b55b2675f7c931da7da10266cb
66+
git checkout 722b86b8ef87fbb297f7e33ee6014bbbd3f4a3a8
6767
cd ..
6868

69-
# download the GraalVM release build (21.2.0) and the corresponding JVM;
70-
wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
71-
wget https://github.com/graalvm/labs-openjdk-11/releases/download/jvmci-21.2-b08/labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
69+
# download the GraalVM release build (21.3.0) and the corresponding JVM;
70+
wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz
71+
wget https://github.com/graalvm/labs-openjdk-11/releases/download/jvmci-21.3-b05/labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
7272
# extract them;
73-
tar xfz labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
74-
tar xfz graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
73+
tar xfz graalvm-ce-java11-linux-amd64-21.3.0.tar.gz
74+
tar xfz labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
7575
# remove temporary files;
76-
rm labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
77-
rm graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
76+
rm graalvm-ce-java11-linux-amd64-21.3.0.tar.gz
77+
rm labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
7878

7979
# install CUDA and Nvidia drivers;
8080

@@ -111,8 +111,8 @@ echo 'export CUDA_DIR=/usr/local/cuda' >> ~/.bashrc
111111
echo 'export PATH=$CUDA_DIR/bin:$PATH' >> ~/.bashrc
112112
echo '# GraalVM and GrCUDA;' >> ~/.bashrc
113113
echo 'export PATH=~/mx:$PATH' >> ~/.bashrc
114-
echo 'export JAVA_HOME=~/labsjdk-ce-11.0.12-jvmci-21.2-b08' >> ~/.bashrc
115-
echo 'export GRAAL_HOME=~/graalvm-ce-java11-21.2.0' >> ~/.bashrc
114+
echo 'export JAVA_HOME=~/labsjdk-ce-11.0.13-jvmci-21.3-b05' >> ~/.bashrc
115+
echo 'export GRAAL_HOME=~/graalvm-ce-java11-21.3.0' >> ~/.bashrc
116116
echo 'export PATH=$GRAAL_HOME/bin:$PATH' >> ~/.bashrc
117117
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
118118
echo 'export GRCUDA_HOME=~/grcuda' >> ~/.bashrc
@@ -185,22 +185,22 @@ sudo reboot
185185
# # 1. go to https://www.oracle.com/downloads/graalvm-downloads.html?selected_tab=1
186186
# # 2. download Oracle GraalVM Enterprise Edition Core for Java 11. An Oracle account is required
187187
# # 3. transfer the tar.gz to your machine, and extract it with
188-
# tar -xzf graalvm-ee-java11-linux-amd64-21.2.0.1.tar.gz
189-
# rm graalvm-ee-java11-linux-amd64-21.2.0.1.tar.gz
188+
# tar -xzf graalvm-ee-java11-linux-amd64-21.3.0.tar.gz
189+
# rm graalvm-ee-java11-linux-amd64-21.3.0.tar.gz
190190
# # Install Labs-JDK to build GrCUDA;
191-
# wget https://github.com/graalvm/labs-openjdk-11/releases/download/jvmci-21.2-b08/labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
192-
# tar -xzf labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
193-
# rm labsjdk-ce-11.0.12+6-jvmci-21.2-b08-linux-amd64.tar.gz
191+
# wget https://github.com/graalvm/labs-openjdk-11/releases/download/jvmci-21.3-b05/labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
192+
# tar -xzf labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
193+
# rm labsjdk-ce-11.0.13+7-jvmci-21.3-b05-linux-amd64.tar.gz
194194
# cd graal
195-
# git checkout e9c54823b71cdca08e392f6b8b9a283c01c96571
195+
# git checkout 84541b16ae8a8726a0e7d76c7179d94a57ed84ee
196196
# cd ..
197197
# # checkout commit of mx compatible with versions of other tools;
198198
# cd mx
199-
# git checkout b39c4a551c4e99909f2e83722472329324ed4e42
199+
# git checkout 722b86b8ef87fbb297f7e33ee6014bbbd3f4a3a8
200200
# cd ..
201201
# echo '# GraalVM EE' >> ~/.bashrc
202-
# echo 'export JAVA_HOME=~/labsjdk-ce-11.0.12-jvmci-21.2-b08' >> ~/.bashrc
203-
# echo 'export GRAAL_HOME=~/graalvm-ee-java11-21.2.0.1' >> ~/.bashrc
202+
# echo 'export JAVA_HOME=~/labsjdk-ce-11.0.13-jvmci-21.3-b05' >> ~/.bashrc
203+
# echo 'export GRAAL_HOME=~/graalvm-ee-java11-21.3.0' >> ~/.bashrc
204204
# echo 'export PATH=$GRAAL_HOME/bin:$PATH' >> ~/.bashrc
205205
# echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
206206
# # Install components. Note: this requires user interaction, and an email address associated to an Oracle account

0 commit comments

Comments
 (0)