Starting Cuda programming with Julia

Hi, I want to start programming with CUDA language. I just bought new notebook with NVIDIA GeForce GTX 1050 graphic card and windows 10 system. I personally use Linux mint, so I want to install it on my new notebook. I read the

CUDA by Example: An Introduction to General-Purpose GPU Programming
and want to do all of stuff that was done there with Julia. So I have some (noob) question:

  1. Is Linux Mint a good language for CUDA development, because I heard that there was some problems with installing it on this system. If not which system would you recommend?
  2. Do I need to install some additional drivers/software for my graphic CARD?
  3. Do I need all of Julia libraries for CUDA development CuArrays.jl, CUDANative.jl, CUDAdrv.jl and is the order important?

CUDA by example is a great book! You should be able to replicate most of it in Julia, since the CUDAnative.jl kernel programming interface is pretty much identical to CUDA C (but in a high-level language).

  1. Linux Mint is great, does not matter too much as long as it’s linux. Installing CUDA driver and toolkit will be difficult anyhow, since you’re using a Debian derivative try installing all that from the repository’s instead of downloading it from the NVIDIA home page.
  2. Only the NVIDIA driver and toolkit, optionally CUDNN if you want to do machine learning
  3. They’ll get installed automatically. You need to “choose” whether you want to be working at the kernel level using CUDAnative.jl, or with the array abstractions from CuArrays.jl. But all those packages build on one another and will get installed automatically.

Do you recommend any particular linux distro for working with CUDA/GPUs?

Just use a distro that packages the CUDA stuff, like Debian, or Arch Linux. The advantage of the latter is that they are a little more lax wrt. packaging stuff, so you can e.g. just install cudnn using the package manager.