Jump to content

CUDA support for Intel, proof of concept

porina

This appeared on my radar when Raja retweeted it. 

 

https://github.com/vosen/ZLUDA

 

The creator of it so far has only been working on getting it to work on Geekbench, were it shows an overall performance increase compared to OpenCL, although they do caution that GeekBench is an ideal case for the translation work going on. It is described as "proof of concept" level so it may be some time before it can be put to serious use. It will be more interesting to see what relative performance is like for less optimal code cases. Apparently it works on the iGPU since Skylake era.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

Theoretically, this should also work on AMD cards later on.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, igormp said:

Theoretically, this should also work on AMD cards later on.

there is a cuda to opencl for amd but only in linux

if it was useful give it a like :) btw if your into linux pay a visit here

 

Link to comment
Share on other sites

Link to post
Share on other sites

well it never be as efficient as normal cuda

if it was useful give it a like :) btw if your into linux pay a visit here

 

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, igormp said:

Theoretically, this should also work on AMD cards later on.

Apparently this project translates CUDA to oneAPI Level 0, which I think only Intel are supporting for now at least. I'm not fully up to speed with oneAPI but my understanding is that it is a significantly Intel created open standard. Unless AMD also starts to support oneAPI, I don't think this software will be any use on AMD.

 

5 minutes ago, mahyar said:

there is a cuda to opencl for amd but only in linux

What state and performance is that in? Got a name so I can look it up?

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

Thats pretty cool. Looks likes its fulfilling the CUDA API interface while changing the implementation to oneAPI. Not exactly an easy task.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, mahyar said:

Not the same thing; CU2CL helps you port your code to OpenCL, whereas the project OP mentioned doesn't need any recompiling or source-code -- it runs CUDA-software as-is. With CU2CL you have to compile the application using CU2CL, which means you also need access to the source-code of said apps!

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, WereCatf said:

Not the same thing; CU2CL helps you port your code to OpenCL, whereas the project OP mentioned doesn't need any recompiling or source-code -- it runs CUDA-software as-is. With CU2CL you have to compile the application using CU2CL, which means you also need access to the source-code of said apps!

Quote

Welcome to the CU2CL (CUDA-to-OpenCL) source-to-source translator project. CU2CL is a work-in progress academic prototype translator that endeavors to provide translation of many of the most frequently used CUDA features.

 

if it was useful give it a like :) btw if your into linux pay a visit here

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WereCatf said:

the project OP mentioned doesn't need any recompiling or source-code -- it runs CUDA-software as-is.

This is what got my attention. There is software I'm interested in that already runs on both nvidia and AMD hardware but not Intel. If this gives a way for the nvidia code to run on Intel, it could open up use cases on iGPUs, not that I'm expecting much performance from them compared to dGPUs.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, mahyar said:

Rubbish

Read more than the first sentence, mate. E.g. "Once built, the "cu2cl-tool" binary can be used to translate sets of CUDA source files, along with any local CUDA source files they include." -- do notice how they are talking about using it with SOURCE-CODE. It's not the same thing, period.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, porina said:

This is what got my attention. There is software I'm interested in that already runs on both nvidia and AMD hardware but not Intel. If this gives a way for the nvidia code to run on Intel, it could open up use cases on iGPUs, not that I'm expecting much performance from them compared to dGPUs.

Eh, no one expects much performance out of Intel's iGPUs anyways. Just being able to run CUDA-stuff, even if slowly, would still be useful for a lot of things -- it'd still most likely be faster than doing the same thing in software, anyways.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, mahyar said:

 

OPs mentioned project works at the binary interface level meaning no source code needs to be changed for an existing application. You replace the nvcuda dll with one built using the project. This works because at runtime the library is dynamically linked and the replacement dll is providing the same binary interface as the actual cuda api while changing the implementation of the cuda api to oneAPI function calls. The project you mentioned appears to be fancy lexical text parser designed to replace source code CUDA function calls with that of openCL. Really not much different then a find and replace function in a text editor. 

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, mahyar said:

there is a cuda to opencl for amd but only in linux

Are you talking about ROCm? If so, it's shit, I've used it before on my old rx480.

 

Nvm, I read the remaining of the thread, it's not the same thing as others have already mentioned.

3 hours ago, porina said:

Apparently this project translates CUDA to oneAPI Level 0, which I think only Intel are supporting for now at least. I'm not fully up to speed with oneAPI but my understanding is that it is a significantly Intel created open standard. Unless AMD also starts to support oneAPI, I don't think this software will be any use on AMD.

There are works for that already, see here.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, igormp said:

There are works for that already, see here.

That article is pretty badly written and it is unclear to me what the extent of the support is. Regardless, without official AMD support I'm not going to expect it to go anywhere fast.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, porina said:

That article is pretty badly written and it is unclear to me what the extent of the support is. Regardless, without official AMD support I'm not going to expect it to go anywhere fast.

Sure, the best you can expect from something that plans to make this kind of stuff to work on AMD's GPUs is at least 2022 (be it from amd themselves or not). Until then, don't expect anything remotely useable.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×