When I like to use CUDA, I need to go through tons of discussion forums to find out, how to install all that stuff, when I need only a few libraries and include files… Is that so diffucult to release .deb or .rpm packages with binaries and files for developenment, instead of those uniform installers which are available?
As multiple Linux distributions are supported, and each has its own unique installation locations, what you’re requesting would require custom packages for each distribution, and moreoever would make installation on most ‘unsupported’ distributions nearly impossible.
I’m not clear why you needed to “go through tons of discussion forums to find out, how to install all that stuff” when the documentation included with the NVIDIA packages documents exactly how to install them ?
you are assuming people read those text files that come with installation packages External Image ;)
I understand, that lama users wouldn’t install cuda or drivers or so… and at all wouldn’t use linux style systems.
But I thing, that distributions for most used systems would be good.
And I thing, in the time of graphic desktops and everything visual, 3d accelerated and comfortable… it is suspicious to force anyone to suspend to console and stop X server to install some driver.
Why are there distribution for ubuntu, which are in form of script instead of ubuntu package?
I’m using 64bit ubuntu 8.04…and this is a piece of unsuported system…
I would like either source files to compile everything myself or installable package. Am I too finical?
Making a nicely integrated .deb for Ubuntu is really a task for the Ubuntu packaging people. Package system expertise is not cost-effective for NVIDIA - it is best kept on Ubuntu’s side. I’d rather they keep improving CUDA :)
An slightly lame example - sorry - Linus Thorvalds doesn’t make a nice Ubuntu package of the latest kernel.
And as for restarting X11, well, it’s kind of hard to get around restarting X11 when you’re swapping the fundamental hardware drivers that it runs on. It could be avoided, true, and some nice system written that pre-installs the new driver and then “finally” installs it when X11 is restarted at some later time. Also, when not running X11 NVIDIA graphics, the installer should probably allow installation of the new NVIDIA drivers … but that’s really a comfort issue, and i’m SURE that some Ubuntu wizard could do it on top of the NVIDIA driver installer.
Ubuntu already ships their own NVIDIA driver package in a native deb format. The CUDA toolkit package certainly has no dependencies on X, and can be installed regardless of the runlevel of the system.
the install is easy, for real, even with the .run package. The problem is that the readme isn’t that brilliant or complete at all, and i suspect that many users will face problem, especially the ones running emulation or unwilling to use closed source driver: yes for many of us closed source software is bad, otherwise we wouldn’t release our code to the public, or work to make CUDA a better platform.
Anyhow the fact that Nvidia don’t put as much effort on linux as on windows is clear to me, from the fact of not publishing a starter guide for linux also, to the previous experience with Nvidia support to linux. It’s still vivid in my memory this. Having past experience with firms producing low quality closed source code, my opinion is that nvidia is ashamed of the quality of its linux driver, and therefore nvidia prefer to keeps it closed.
It’s a real pity in my opinion, because i can’t understand why the don’t realease open driver, or AT LEAST give some form of collaboration to the Nouveau team, so we user can have better performing cards.
If nvidia is really committed to give an HPC platform to linux, then nvidia should realease open driver, to ease technical difficulty for everybody and DRAMATICALLY improve performance. Otherwise i can go back to the XEON based cluster at my uni, or wait for the ATI/Open CL platform to mature.
if you give me 30 minutes, and an nvidia graphic card to test the result, i’ll do it by myself. And i SWEAR i won’t leak any code!
LOL!!! Because kernel is really a delicate things, the base of the system! You can’t play with it!
No it’s not true at all.
It is difficult if you write poor and closed code.
Sorry dude, I don’t work for NVIDIA. Relax, perhaps? If you want to hack on the NVIDIA driver installer, check out the envy-ng installer and the script inside the nvidia-linux.run driver package.
Anyway, I don’t see any reason why NVIDIA should package their installer, when NVIDIA Ubuntu packages are available - packages that didn’t work for CUDA last time I checked (because of PACKAGING issues btw, not Nvidia issues.) I especially do not see the reason when it is fine for Ubuntu to package EVERY SINGLE OTHER THING in the distro themselves.
i didn’t mean to be harsh with you at all! i was trying to be harsh with the nvidia policy on linux!
OK :) Friends!
Well, Linux is actually the best supported platform in CUDA. I have been a linux fan for more than 12 years now, and I must say I am ashamed when I see people make these kinds of statements. It is completely counterproductive to the adoption of Linux.
I’m not a linux fan, is just that it is the only serious choice for research and serious development (this is my opinion at least).
I know that this is your opinion, and i respect that. The fact is that an open source driver, written without ANY help by nvidia, outperformed a driver written by NVIDIA. This is SAD, REALLY SAD.
Until they won’t release AT LEAST HW specs to help the nouveau team, or better they will write by themselves an open source driver (i could even tolerate a SMALL closed source demon in kernel space), linux will be just a secondary platform for them.
mascarpone, the test you linked isn’t between the actual display driver that includes CUDA support (nvidia) and Nouveau–it’s between the open-source 2D only driver that has some NVIDIA code (nv) and Nouveau.
Linux is the best supported platform, judging from what OS most people here run. If somebody wanted to make their own packages to include in a repository, I don’t think we’d have any kind of problem with that. Of course, that is not an official answer; if you want an official answer, you should tell us exactly what you’re doing so we can direct that to legal and have them give you the official answer. I don’t know of that ever coming up with CUDA, so there’s no precedent there.
Also, you want a starter guide to Linux? Here you go!
- Make sure you don’t have an NVIDIA driver from your distribution installed.
- As root without X running: ./sh NVIDIA-Linux-177.67…
- As root or a normal user: ./sh NVIDIA-CUDA-Toolkit…
- Add the CUDA toolkit’s lib subdirectory to the current user’s LD_LIBRARY_PATH (generally via .bashrc) or to /etc/ld.so.conf (if you’d like it to be present for every user). If you do the latter, run ldconfig as root.
- As a normal user: ./sh NVIDIA-CUDA-SDK…
- Install the freegult development package (freeglut-dev, freeglut-devel, whatever it may be).
Here’s the problem with making an actual guide: 1 and 6 would be 20 or 30 pages of distribution-specific information. 2 would also contain some distribution-specific info on how to get to a console from a given distro (/sbin/telinit 3? killall gdm? whatever). If we made a package for every OS to do this, we would waste a ridiculous amount of time preparing for a release.
Final point: consider installation a test of whether or not you’re ready to actually write decent CUDA code. Some of us do :P
Second final point: open sourcing code doesn’t necessarily make it better. Notable examples notwithstanding, there is some very good closed-source code. I can’t imagine that open sourcing the driver would “dramatically increase performance” in this case. When I can run my code and see that I’m maxing out either the memory bandwidth or number of registers or anything like that, I’m usually pretty satisfied with the toolchain that got me there.
So, where did you find the HW specs or open source driver for windows?
Linux is treated the same in this respect as other OSs. Am I as happy as can be? Nope off course not, I would prefer an open source driver, but I can understand why they do not open the source.
nVidia won’t make opensource, so let it be so, we can make each own opinion.
but when nVidia releases something for ubuntu 7.10, which is not in form of ubuntu 7.10 package, i think, either someone is lazy or someone don’t care.
I tried to put all the installations of all the packages (for almost all the environments given in the nvidia cuda home page) in a single script.
However, its not as good as a .deb or a .rpm package :(
See here:
Hi all!
First i apologize for such a late response, but my computer is under repair, so at the moment i’m borrowing a notebook from a friend of mine.
Second I can’t tell you how glad I’m that an Nvidia guy answered to my whines… this count really much in a community… Because I can learn straight from the source, and I can address my question to someone directly involved into the project…
still i see that closed code is slower… this is what that test told me…
Sorry for my awful english, but i’m afraid i misunderstood what you were saying… maybe you were saying that it’s ok for the company (at least unofficially) if someone would make open driver?
here’s someone:
http://www.linuxdriverproject.org/twiki/bin/view
who’ll make open driver for free for you!
My professor is quite good at writing parallel code (20+ years spent with MPI libraries) still he has serious problems with Linux, i have to fix (stupid) problems for him on a week basis…
If you think that a full docs would be too work for you, i’m 100% sure that AT LEAST ubuntu community will be glad to do the work for you!
Here’s a crucial point. I’m not a marketing expert nor a sales man, nor a professional programmer. I’m just a student, whose professor gave the chance to spend some time on CUDA. Thus i’m not saying that my word is law, but here’s how i see it:
For sure we have a few examples here and there where closed source is better than open. But the best ideas, the ones who changed the world, and the most beautiful ones up to date, arose from shared work and knowledge.
Think to the best closed source examples: Photoshop, Matlab, …
And now think to the maxwell equations, to the turing model or the black-scholes equations. They just are a gear further.
I can’t understand you: Nvidia makes money from the hardware, not the software. And this seems clear.
So i can’t understand why you can’t make CUDA full open source, allowing it to be WAY MORE widespread. And diffusion is just a step to being a standard, and thus rule the market.
Imagine having CUDA on the latest Qosimo, on their Cell coprocessor… How many user would come in touch with CUDA, and thus Nvidia, and thus your hardware…
Even sun, that don’t really make any hardware by herself, made java open source, because she understood that open source will just improve the overall quality. With something like CUDA, that would be under the eyes of thousands of HARDCORE specialist, huge steps of improvement would come from the community.
Actually Ati solution and OpenCl are way behind CUDA. But they are open, which means that a LOT of specialists will turn to OpenCl when they’ll become mature enough, thus providinge a huge pool of HARDCORE specialists that will in no time make Ati/OpenCl solution way more supported, versatile, powerful… if just with example libraries…
It’s a simple question, do you want to have some nice code, like photoshop, or do you want to change the world, like maxwell?
On this i have to disagree. Maybe because I’m a mathematician and not a programmer, and my main goal are nice ideas rather than some sterile code. Anyhow i think that the best toolchain is the one that will make you able to reach the best performance with the least effort… IT is full of amazing and powerful architecture that disappeard just because programming them was more difficult… the very same cell, which is your strongest opponent (at least in the high end market) would have failed if not for the huge founding from IBM…
See the console games: they are made from professionist, still we see that the PS3 version is sometime inferior to the x360 one of the very same game… just because Cell is more difficult to handle and younger… or maybe because the x86 is an open platform, and open community spent a lot of time on creating serious code for it… [a hacker found that at least one game from xbox 1 (mech warrior) had reference from gcc… i still wonder how many companies use gcc for their closed source code]
I believe both nv and nouveau are opensource, it is the nvidia driver that is closed source.
If you really think that ATI will opensource their implementation of the OpenCL specification, then I think you are dreaming (although I would be a very happy man)
The main reasons why companies like NVIDIA do not opensource their driver is because the code reveals so much detail about how the hardware works. Revealing that gives a disadvantage compared to the competition. And as long as all companies are doing this, the situation does not change.
Personally I also think that eventually opensourcing such things helps performance and stability in the long run, as well as enabling a whole lot of hardware platforms and such, but I can understand why they are not doing it.