How do I interface a GPU with openCL and java?

I want to use my GPU to train a neural network and learn the basics of machine learning in the process. I plan on doing it in Java so that I would be able to create the programs and implement the machine learning algorithms and any mathematics and their algorithms involved and also because I like Java. I have also considered TornadoVM but it requires Graal that has more functionalites than I need and from what I read in it’s documentation, I am under the impression that I will need a seperate execution environment for it. I don’t want to do that. Instead I want to stick with the Oracle JDK I have on my laptop. I haven’t chosen OpenJDK as if I ever want to make an application for commercial purposes using my premade programs made using OpenJDK, I will have to show everybody the source and give them rights over the application’s source code which I have no plans to do as of now as I will be storing the application’s assests in a hard drive and not have everybody see what I wrote as I don’t have any plans to share it with anybody right now but that may very well change. I have jocl and premade functions with me. I do know that jocl requires low level programming but I am not bothered with that. I am planning on running the trainning, validation and testing on the laptop I own. For that I am not sure how to switch the execution from my processor with integrated graphics to the T600 GPU. I don’t have any openCL packages with me as I don’t know whether I will require it since, the driver of the NVIDIA GPU I own has the compatibility written in.

Blockquote
0000:00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
0000:00:01.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller #1 (rev 05)
0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
0000:00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 05)
0000:00:07.0 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #0 (rev 05)
0000:00:07.1 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #1 (rev 05)
0000:00:0a.0 Signal processing controller: Intel Corporation Tigerlake Telemetry Aggregator Driver (rev 01)
0000:00:0d.0 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 USB Controller (rev 05)
0000:00:0d.2 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 NHI #0 (rev 05)
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
0000:00:12.0 Serial controller: Intel Corporation Tiger Lake-H Integrated Sensor Hub (rev 11)
0000:00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11)
0000:00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
0000:00:14.3 Network controller: Intel Corporation Tiger Lake PCH CNVi WiFi (rev 11)
0000:00:15.0 Serial bus controller: Intel Corporation Tiger Lake-H Serial IO I2C Controller #0 (rev 11)
0000:00:15.1 Serial bus controller: Intel Corporation Tiger Lake-H Serial IO I2C Controller #1 (rev 11)
0000:00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
0000:00:17.0 System peripheral: Intel Corporation RST VMD Managed Controller
0000:00:1c.0 PCI bridge: Intel Corporation Device 43ba (rev 11)
0000:00:1d.0 System peripheral: Intel Corporation RST VMD Managed Controller
0000:00:1f.0 ISA bridge: Intel Corporation Device 4389 (rev 11)
0000:00:1f.3 Audio device: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)
0000:00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
0000:00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
0000:00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-LM (rev 11)
0000:01:00.0 3D controller: NVIDIA Corporation TU117GLM [T600 Mobile] (rev a1)
0000:72:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
10000:e0:17.0 SATA controller: Intel Corporation Device 43d3 (rev 11)
10000:e0:1d.0 PCI bridge: Intel Corporation Tiger Lake-H PCI Express Root Port #9 (rev 11)
10000:e1:00.0 Non-Volatile memory controller: KIOXIA Corporation NVMe SSD Controller BG4
Blockquote