faq / howto - unsure how to get started

ok, so I want to get started with CUDA but I’m unsure where to begin…

I have Ubuntu 7.10, 8800 GTS, 100.14.19.

Can someone give me a recipe to get me to the point where I can start writing and testing code?

There were a couple of good threads about this. Check them out, then come back w/ specific stuff and we’ll be glad to help. I think btw you’ll need to remove the Ubuntu-installed driver and update it manually with a download from NVIDIA.

Stick in there, this stuff gets pretty fun.

ok, why doesn’t nvidia have a straight forward FAQ or brief introduction with an overview of setting up a machine for development?

imo, there should be something like this listed on the cuda part of the website - a quickstart guide.

otherwise it seems like bit of an obstacle to adoption - i think that if nvidia wanted cuda to be readily adopted then it would be a good idea.

instead, this is my experience: look at the cuda website, see 3-4 different versions of different things to download, see 20 odd PDFs and say “I just want it to work? where’s the quickstart guide?”

really, if everyone like me has to “search the forums” to get a basic overview of setting up, compiling and running, then i’d say a fair few people are just not going to bother.

nvidia should take this as a constructive criticism and improve its website

http://www.nvidia.com/object/cuda_home.html
-> http://www.nvidia.com/object/cuda_get.html#linux

That shows (for v1.1)

CUDA for Linux
Download Architecture
CUDA Toolkit version 1.1 for Fedora 7 x86 x86-64
CUDA Toolkit version 1.1 for Redhat Enterprise Linux 3.x x86 x86-64
CUDA Toolkit version 1.1 for Redhat Enterprise Linux 4.x x86 x86-64
CUDA Toolkit version 1.1 for Redhat Enterprise Linux 5.x x86 x86-64
CUDA Toolkit version 1.1 for SUSE Linux Enterprise Desktop 10-SP1 x86 x86-64
CUDA Toolkit version 1.1 for OpenSUSE 10.1 x86 x86-64
CUDA Toolkit version 1.1 for OpenSUSE 10.2 x86 x86-64
CUDA Toolkit version 1.1 for Ubuntu 7.04 x86 x86-64
CUDA SDK version 1.1 for Linux
Release Notes for CUDA Toolkit 1.1
Release Notes for CUDA SDK 1.1
NVIDIA Driver for Linux with CUDA Support (169.09) x86 x86-64
NVIDIA Driver for Linux with CUDA (171.05) specifically for Tesla S870 1U System x86 x86-64

So you get to pick the toolkit for your distribution, then the SDK, then there are some release notes, and then there is the driver for you to download.

I don’t understand what else you want to have, you have the examples to start by, and everything you need. On the CUDA homepage there is even a link to : http://www.nvidia.com/object/cuda_develop.html#tutorials

If this is just because your distribution is not listed you can either switch to a supported distribution or wait for your distribution to be supported (version 2.0 will support it I believe) or you can even try if it works anyway. You can even search the forum to see if there are people who have tried it before (hint, hint, they have tried before)

What you cannot expect is NVIDIA writing tutorials for all unsupported distributions on how to make it work anyway, because they are just that: unsupported.

ok, thanks for the straight forward response - I’ll just wait, in the mean time I’m going to write my program in assembly.

Don’t forget the programming guide! It’s the first link on this page: http://www.nvidia.com/object/cuda_develop.html

Once you get the toolkit installed, you need to have read the programming guide to know how to program CUDA. You can start reading it while you wait for 2.0 to be released for your linux arch. The programming model is quite different from a traditional CPU and it can take a little time to learn.

I think the cover of the Guide needs both a “DON’T PANIC” sticker, as well as “CUDA threads != Pthreads” to help people over the CUDA learning curve. :)

I am so happy that I did not know anything about multi-threaded programming before starting with CUDA :)

I agree.

Constructive criticism for you: I didn’t really understand what you were after in the original posting.

I’ve got an AMD 64, 2.21GHz, 2GB RAM, 8800GTS, which I’ve gotten to work with Fedora 8.

I’ve been in your situation both with Ubuntu and later with Fedora (see my [RANT][/RANT] section). At least with Fedora, you can use the official driver from the repository instead of using the NVIDIA supplied driver, which doesn’t play well with compiz 3D desktop effects on both Fedora and Ubuntu.

I tried to setup CUDA with ubuntu 7.10, but I could not start the live CD. Apparently, there is a bug with AMD 64 processors used with 8 series graphics cards in Ubuntu 7.10. I also tried Ubuntu 8.04, which did install, but 8.04 is not supported by cuda (I could not get the driver to work properly, and yes I did uninstall the Ubuntu installed driver first). In Ubuntu, 8.04 I could compile with the emulator, but it will not recognize the card if I ran the ‘release’.

I got Fedora 8 to install fine, but I don’t like the version of xemacs that comes with Fedora 8, its a beta version and it is full of bugs. Why would they release it with a beta version of it? Also, I couldn’t get MoBlock to work so no piracy (I mean privacy ;) ) I’m hoping that I can get Fedora 9 to work, and that it comes with a descent version of xemacs, which is what I use primarily in Windoz. I’ll try to post my results later if I get a chance.

You’re clearly answering this without considering the perspective of someone who has never installed CUDA and has never used it before. A quick start guide would definitely be helpful. It’s really hard for me to believe that you’ve never seen or used such a document, but, for your edification, here is what a quickstart guide for CUDA could include:

    What prerequisites do you need in order to be able to use CUDA? Things like this would include which compilers and graphics cards it’s compatible with (Note that it’s not stated anywhere on the download page that there is no support for MSVC 2008 for CUDA under Windows.)

    What CUDA software you need. It’s not made explicit on the download page that you need, at least, the driver AND the toolkit. The naming scheme is also a bit confusing. Why is the SDK the set of extras while the toolkit is the set of core files? I would expect the SDK to be the core files and the toolkit to be some extras.

    Some simple instructions about the order in which you should download and install the packages. A list of paths paths that should be added to environment variables and so on to be able to compile the examples in the SDK would also be helpful here.

    Some trouble shooting tips or answers to common questions. For example, why don’t all the demo applications in the SDK work without errors?

    Possibly also how to set up a simple hello world application or modify one of the SDK examples in a trivial way.

I’m also curious why these helpful threads with this sort of information that have been mentioned aren’t stickied at the top of the forum. Why must new users dig through forum archives to find the help that frequently would be needed?

Well, I am sorry, but I did not buy a computer with CUDA installed, so I went that road also. Maybe you should just read the releasenotes? A short quote :

Very much agreed about the naming yes.

Paths that should be added to environment variables, etc. are mentioned at the end of the install (I know, I also don’t check what is written at the end of an install, I just happened to see it when installing 2.0)

I think it might indeed be smart to make some of these threads sticky, and I must also say that in order to search the forums, I prefer to use google, as the forum search is not the best, but if I have to choose between the NVIDIA people concentrating on improving CUDA or writing FAQS, etc. I choose the first. The people writing CUDA have explained before there is only a small team writing CUDA, so they have to make choices.

Personally, I get the feeling people who are complaining about this in general have not bothered to do any searching on the forums/internet at all. It really is not rocket-science to install CUDA compared to programming CUDA. It sometimes looks like people expect everything to work without any effort at all, but as some wise man has said before: There is no such thing as a free lunch.

appreciate the feedback. we have a new getting started guide about ready. Doesn’t jump into programming, just what you need to get installed and get ready.

There are also updates still being made to the CUDA training/tutorials section