I wonder how the Nouveau guys will be able to merge back with the PSCNV. Having two Nvidia driver would be less than ideal.
Phoronix: PathScale Has An "Open" NVIDIA Compute Driver
PathScale, the company that developes the EKOPath 4 compiler and provided the *BSDs with a new run-time, is also the company behind the PSCNV driver. The PSCNV driver is the open-source NVIDIA driver that's forked from the Nouveau code and is focused on delivering maximum performance and to provide compute support. While the code isn't available at this time, it appears they have succeeded in having a working OpenCL compute infrastructure that's independent of NVIDIA's binary driver...
http://www.phoronix.com/vr.php?view=OTkxMA
I wonder how the Nouveau guys will be able to merge back with the PSCNV. Having two Nvidia driver would be less than ideal.
Don't worry for that, you don't need pscnv anymore to run OpenCL kernels. Nouveau should handle that. What Nouveau has not is a runtime implementation that is actually open source, not the Pathscale closed one.
But, as Pathscale's runtime interface is open, it is possible to create another implementation that would be open. When Pathscale will be considering open sourcing their code, it will be simple to merge the open source one and theirs.
I created a bug report to track the progress of OpenCL: https://bugs.freedesktop.org/show_bug.cgi?id=40888
If a student is interested in compilers would like to show up and work on this, PLEASE do so![]()
If it was forked from nouveau, how could it not be open-source?
There is some confusion here and I can understand your confusion. When I say we need to modify nouveau, it means adding new libs in the userspace.
Please have a look at Shinpei's presentation: https://bugs.freedesktop.org/attachment.cgi?id=51217
You may want to look at Tom Stellard's presentation: https://bugs.freedesktop.org/attachment.cgi?id=51215
He is one of the new AMD devs.
Nvidia's early push into stream processing has made CUDA the new FORTRAN, so I think you would have an easier time asking for people interested in compilers to work on an implementation of CUDA.
By the way, if Nouveau supports compute, why not translate all OpenGL calls into kernels for the GPU? The specialized hardware that has not been replaced by warps is extremely old. I can't imagine that the performance hit for doing it in software would be very bad and I imagine that the abstraction would make reaching feature parity with the Nvidia driver easier.
Last edited by Shining Arcanine; 09-14-2011 at 09:49 PM.
Zack was talking about our proprietary shader compiler, which goes from AMD IL (see Stream SDK docco area on amd.com for spec) and a few state bits to highly optimized VLIW hardware instructions. We have no plans to open up that code, but there are some other parts of the compute stack which may be candidates.
It doesn't matter if it is CUDA or OpenCL, both will end-up as LLVM-IR anyway. Nouveau doesn't have the human power to implement things that are out of its direct scope. If you want CUDA on Nouveau and are ok with using nvcc, well, we still need to implement the cuda runtime on top of CAL.
This all seem like a BAAAAAD idea to me. If you want to talk about it, show-up on #nouveau and ask calim/mwk. They will be able to tell you why. I don't work on graphics.