I am unfortunately on Windows at work. I don’t think I will be able to get my co-workers to use shell commands. However, I see now that Chocolatey does have a GUI option, so I will give it a try.
Oooh - I did not know about the GUI
I ran a test for you - install version 1.5.3 using Chocolatey. In VScode the string for the Executable in settings is blank. I open a REPL and version 1.5.3 is in use
I think this is because VScode uses a Powerhsell - and the correct environment variables are set for Powershell. I am not that much of a Windows expert that I Can guarantee this.
How do I update to this from 1.4? Is there any way I can upgrade?
There isn’t in general, just download the new version and install/unzip it. If you don’t need 1.4 any longer just delete it.
You could try asdf
; I’ve written how to use it for Julia here: How to update Julia from command line? - Stack Overflow
Thanks. So what should I do to uninstall julia 1.4? Because there is one file in /usr/local/bin
and then there a julia in .local
. Moreover, will this remove the big files like CUDA? Because I installed Julia 1.5 and when I tried to use CUDA, it started downloading CUDA 11.1 all over again.
So how do I manage the dependencies?
Thanks. Will definitely check it out.
EDIT:
So I installed asdf
and I was wondering if it can upgrade my current julia (1.4) to 1.5 and link the packages that I have installed for 1.4 with 1.5? Because my major concern is installing the same packages twice, including CUDA.
Ah, check out this FAQ entry from the Julia manual. Basically, Julia only installs one version of any given package, independently of what version of Julia you have, and uses lightweight Project.toml and Manifest.toml files to track which environment has access to which packages. CUDA depends on binary artifacts, but those too are installed once, so you won’t need to redownload them as long as you are using the same version of CUDA.jl in both Julia versions.
COOL. Let me try this. I think this is what I need.
So I followed the steps mentioned and I had to run resolve
first and then I ran instantiate
. No error. But when I started testing CUDA, test CUDA
, it started downloading CUDA 11.1
Downloading artifact: CUDA111
I already have CUDA 11.1 on my machine. So can you tell if I am following the correct steps?
Hm, did you copy the Manifest.toml file over? Try using Pkg; Pkg.status("CUDA")
on both versions to see if you get the exact same version.
It looks like CUDA.jl updated the artifacts 11 days ago (https://github.com/JuliaGPU/CUDA.jl/pull/530) to “CUDA 11.1 update 1” (from “CUDA 11.1”), so I suspect you have a slightly newer version of CUDA.jl in your 1.5 environment that is downloading the updated artifacts.
Yeah, In 1.4, it’s using CUDA v1.3.3
and in 1.5, it’s using CUDA v2.3.0
.
So what do you suggest I should do to avoid installing CUDA 11.1 twice?
Also, if I get rid of CUDA that’s installed on my machine, will it affect the CUDA that julia uses?
So what do you suggest I should do to avoid installing CUDA 11.1 twice?
I would copy both the Project.toml and Manifest.toml from your 1.4 environment to your 1.5 environment. That should ensure you have the exact same versions in both. Then if you want to prevent CUDA from updating in an environment, you can pin it to its current version by running Pkg.pin("CUDA")
in the environment you want to pin it.
Also, if I get rid of CUDA that’s installed on my machine, will it affect the CUDA that julia uses?
No, I think CUDA.jl provides it’s own CUDA binaries unless you configure it otherwise (see Overview · CUDA.jl). You still need the nvidia driver installed on your system though.
Trying this. I think it’s using the previous version of CUDA in 1.5.
I’ll also try it by removing the CUDA i have on my machine.
So it’s working now. Got rid of some of the errors that I was having with 1.4. And working fine without the CUDA on my machine.