beehive-lab / TornadoVM

TornadoVM: A practical and efficient heterogeneous programming framework for managed languages
https://www.tornadovm.org
Apache License 2.0
1.19k stars 114 forks source link

CUDA PTX Header Fixed #196

Closed jjfumero closed 2 years ago

jjfumero commented 2 years ago

Description

This PR extends/fixes the PTX header for newer GPUs with Compute Capability >= 7.5. This PR has been tested for 2060, 1050 and 3070 GPUs.

Note that, due to an error in the Kernel Launch when using the NVIDIA GPU driver >= 510.60, some of the kernels do not work. However, this PR updates the header for the assembly PTX code for running on modern GPUs.

Additionally, this PR fixes the JNI code of Level Zero and the SPIR-V backend.,

Backend/s tested

This PR affects to the PTX and SPIR-V backends.

OS tested

Mark the OS where this PR is tested.

Did you check on FPGAs?

If it is applicable, check your changes on FPGAs.

How to test the new patch?

$ make BACKEND=ptx
$ tornado --threadInfo --printKernel -Ds0.t0.device=0:0 -m tornado.examples/uk.ac.manchester.tornado.examples.compute.MatrixMultiplication2D

.version 7.6            ## VERSION UPDATED
.target sm_75        ## SM INFO UPDATED
.address_size 64 

.visible .entry ... 

For the SPIR-V :

$ make BACKEND=spirv
$ make tests