项目作者: beehive-lab

项目描述 :
Easy Installer for TornadoVM
高级语言: Shell
项目地址: git://github.com/beehive-lab/tornadovm-installer.git
创建时间: 2020-06-18T13:36:27Z
项目社区:https://github.com/beehive-lab/tornadovm-installer

开源协议:Apache License 2.0

下载


TornadoVM Installer

Script to install TornadoVM.

Pre-requisites

  • Maven Version 3.6.3
  • OpenCL: GPUs and CPUs >= 1.2, FPGAs >= 1.0
  • GCC or clang/LLVM (GCC >= 5.5)
  • Python >= 3.6

How to install TornadoVM?

The scripts provided in this repository will compile/download OpenJDK, cmake and it will build TornadoVM.

This installation script has been tested on Linux and OSx.
Note that GraalVM Community Edition releases based on JDK8 are no longer being built for Mac OSx.

  1. ./tornadovmInstaller.sh
  2. TornadoVM installer for Linux and OSx
  3. Usage:
  4. --jdk8 : Install TornadoVM with OpenJDK 8
  5. --jdk11 : Install TornadoVM with OpenJDK 11
  6. --jdk17 : Install TornadoVM with OpenJDK 17
  7. --graal-jdk-11 : Install TornadoVM with GraalVM and JDK 11 (GraalVM 21.3.0)
  8. --graal-jdk-17 : Install TornadoVM with GraalVM and JDK 17 (GraalVM 21.3.0)
  9. --corretto-11 : Install TornadoVM with Corretto JDK 11
  10. --corretto-17 : Install TornadoVM with Corretto JDK 17
  11. --mandrel-11 : Install TornadoVM with Mandrel 21.3.0 (JDK 11)
  12. --mandrel-17 : Install TornadoVM with Mandrel 21.3.0 (JDK 17)
  13. --windows-jdk-11 : Install TornadoVM with Windows JDK 11
  14. --windows-jdk-17 : Install TornadoVM with Windows JDK 17
  15. --opencl : Install TornadoVM and build the OpenCL backend
  16. --ptx : Install TornadoVM and build the PTX backend
  17. --spirv : Install TornadoVM and build the SPIR-V backend
  18. --help : Print this help

To use TornadoVM with OpenJDK 8:

NOTE Select the desired backend:

  • --opencl: Enables the OpenCL backend (requires OpenCL drivers)
  • --ptx: Enables the PTX backend (requires NVIDIA CUDA drivers)
  • --spirv: Enables the SPIRV backend (requires Intel Level Zero drivers)
  1. ## Install with JDK8 with OpenCL
  2. ./tornadovmInstaller.sh --jdk8 --opencl
  3. # and follow instructions
  1. ## Install with JDK8 with OpenCL & PTX
  2. ./tornadovmInstaller.sh --jdk8 --opencl --ptx
  3. # and follow instructions
  1. ## Install with JDK8 with OpenCL & PTX & SPIRV
  2. ./tornadovmInstaller.sh --jdk8 --opencl --ptx --spirv
  3. # and follow instructions

To build TornadoVM with GraalVM and JDK 11:

  1. ## I
  2. ./tornadovmInstaller.sh --graal-jdk-11 --opencl
  3. # and follow instructions

To build TornadoVM with GraalVM and JDK 17:

  1. ./tornadovmInstaller.sh --graal-jdk-17 --opencl
  2. # and follow instructions

To build TornadoVM with Red Hat Mandrel JDK 11 with OpenCL and PTX backends:

  1. ./tornadovmInstaller.sh --mandrel-11 --opencl --ptx
  2. # and follow instructions

After the installation, the scripts create a directory with the TornadoVM SDK. The directory also includes a source file with all variables needed to start using TornadoVM.

For example:

  1. # Install with Graal JDK 17 and all backends
  2. $ ./tornadovmInstaller.sh --graal-jdk-17 --opencl --spirv --ptx
  3. $ source TornadoVM-GraalJDK17/TornadoVM/source.sh
  4. $ tornado --version
  5. version=0.13-dev
  6. branch=master
  7. commit=256f715
  8. $ tornado -version
  9. openjdk version "11.0.12" 2021-07-20
  10. OpenJDK Runtime Environment 18.9 (build 11.0.12+7)
  11. OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7, mixed mode)
  12. $ tornado -version
  13. WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.vector
  14. openjdk version "17.0.1" 2021-10-19
  15. OpenJDK Runtime Environment GraalVM CE 21.3.0 (build 17.0.1+12-jvmci-21.3-b05)
  16. OpenJDK 64-Bit Server VM GraalVM CE 21.3.0 (build 17.0.1+12-jvmci-21.3-b05, mixed mode)
  17. $ tornado --devices
  18. Number of Tornado drivers: 3
  19. Driver: SPIRV
  20. Total number of SPIRV devices : 1
  21. Tornado device=0:0
  22. SPIRV -- SPIRV LevelZero - Intel(R) UHD Graphics [0x9bc4]
  23. Global Memory Size: 24.9 GB
  24. Local Memory Size: 64.0 KB
  25. Workgroup Dimensions: 3
  26. Total Number of Block Threads: 256
  27. Max WorkGroup Configuration: [256, 256, 256]
  28. Device OpenCL C version: (LEVEL ZERO) 1.1
  29. Driver: OpenCL
  30. Total number of OpenCL devices : 3
  31. Tornado device=1:0
  32. OPENCL -- [NVIDIA CUDA] -- NVIDIA GeForce RTX 2060 with Max-Q Design
  33. Global Memory Size: 5.8 GB
  34. Local Memory Size: 48.0 KB
  35. Workgroup Dimensions: 3
  36. Total Number of Block Threads: 1024
  37. Max WorkGroup Configuration: [1024, 1024, 64]
  38. Device OpenCL C version: OpenCL C 1.2
  39. Tornado device=1:1
  40. OPENCL -- [Intel(R) OpenCL HD Graphics] -- Intel(R) UHD Graphics [0x9bc4]
  41. Global Memory Size: 24.9 GB
  42. Local Memory Size: 64.0 KB
  43. Workgroup Dimensions: 3
  44. Total Number of Block Threads: 256
  45. Max WorkGroup Configuration: [256, 256, 256]
  46. Device OpenCL C version: OpenCL C 3.0
  47. Tornado device=1:2
  48. OPENCL -- [Intel(R) CPU Runtime for OpenCL(TM) Applications] -- Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
  49. Global Memory Size: 31.1 GB
  50. Local Memory Size: 32.0 KB
  51. Workgroup Dimensions: 3
  52. Total Number of Block Threads: 8192
  53. Max WorkGroup Configuration: [8192, 8192, 8192]
  54. Device OpenCL C version: OpenCL C 2.0
  55. Driver: PTX
  56. Total number of PTX devices : 1
  57. Tornado device=2:0
  58. PTX -- PTX -- NVIDIA GeForce RTX 2060 with Max-Q Design
  59. Global Memory Size: 5.8 GB
  60. Local Memory Size: 48.0 KB
  61. Workgroup Dimensions: 3
  62. Total Number of Block Threads: 2147483647
  63. Max WorkGroup Configuration: [1024, 1024, 64]
  64. Device OpenCL C version: N/A