beehive-lab / TornadoVM-Ray-Tracer

A real-time ray tracer in Java, accelerated on heterogeneous hardware using TornadoVM
Apache License 2.0
12 stars 1 forks source link

Update benchmarking to be automatically deployed on multiple devices for regression testing #1

Closed stratika closed 2 years ago

stratika commented 2 years ago

This PR updates the benchmark class to execute the TornadoVM-Ray-Tracer over all devices except PTX which is not supported currently due to the missing intrinsic for atan2 function. This functionality will enable to integrate the TornadoVM-Ray-Tracer in the TornadoVM Jenkins pipeline.

Prior to this PR, the benchmark class was asking the user to select which device to run and could not skip the PTX devices.

To test it:

$ mvn clean install
$ tornadovm-ray-tracer benchmark

The output of the new Jenkins stage is:

[2022-05-04T16:57:29.185Z] + ./bin/tornadovm-ray-tracer benchmark
[2022-05-04T16:57:29.185Z] -----------------------------------------
[2022-05-04T16:57:29.185Z] Running TornadoVM Ray Tracer benchmark mode...
[2022-05-04T16:57:29.735Z] -----------------------------------------
[2022-05-04T16:57:29.735Z] Building world...
[2022-05-04T16:57:29.735Z] -> Loading Skybox Image 'Sky.jpg'...
[2022-05-04T16:57:37.760Z] -> Adding object to the scene...
[2022-05-04T16:57:37.760Z] -> Allocating object representation buffers...
[2022-05-04T16:57:42.956Z] -----------------------------------------
[2022-05-04T16:57:42.956Z] Getting Tornado Devices...
[2022-05-04T16:57:42.956Z] 0: (OpenCL) Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
[2022-05-04T16:57:42.956Z] 1: (OpenCL) GeForce GTX 1060 6GB
[2022-05-04T16:57:42.956Z] -----------------------------------------
[2022-05-04T16:57:42.956Z] -----------------------------------------
[2022-05-04T16:57:42.956Z] Generating 5 frames with TornadoVM for device:  [Intel(R) OpenCL] -- Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
[2022-05-04T16:57:42.956Z] Duration: 39.668628 ms
[2022-05-04T16:57:42.956Z] -----------------------------------------
[2022-05-04T16:57:42.956Z] Generating 5 frames sequentially...
[2022-05-04T16:57:45.441Z] Duration: 2757.234403 ms
[2022-05-04T16:57:45.441Z] -----------------------------------------
[2022-05-04T16:57:45.441Z] Performance increase: 69.50667421620935x
[2022-05-04T16:57:45.441Z] -----------------------------------------
[2022-05-04T16:57:45.991Z] -----------------------------------------
[2022-05-04T16:57:45.991Z] Generating 5 frames with TornadoVM for device:  [NVIDIA CUDA] -- GeForce GTX 1060 6GB
[2022-05-04T16:57:45.991Z] Duration: 11.406697 ms
[2022-05-04T16:57:45.991Z] -----------------------------------------
[2022-05-04T16:57:45.991Z] Generating 5 frames sequentially...
[2022-05-04T16:57:48.474Z] Duration: 2408.51836 ms
[2022-05-04T16:57:48.474Z] -----------------------------------------
[2022-05-04T16:57:48.474Z] Performance increase: 211.1494992809926x
[2022-05-04T16:57:48.474Z] -----------------------------------------