From bd612a933480577ab04f35744247f21d1f75d0c6 Mon Sep 17 00:00:00 2001 From: Carsten Bauer Date: Wed, 31 Jul 2024 05:33:20 +0200 Subject: [PATCH] no root necessary etc --- website/user_faq.md | 6 +++++- website/user_gettingstarted.md | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/website/user_faq.md b/website/user_faq.md index e453d21..cfbf942 100644 --- a/website/user_faq.md +++ b/website/user_faq.md @@ -15,6 +15,10 @@ noeval = true --- +## Julia isn't available on my cluster. Can I install and use it (without root privileges)? + +Yes, absolutely. You **do not** need root privileges to install Julia and its packages. However, often times it's better to put the Julia depot - the place where packages, artifacts, and other things will be stored - on the parallel file system rather than into `$HOME`. See the [Getting Started](/user_gettingstarted/) section for more information. + ## Should I compile Julia from source? **No, you should not.** Use the pre-built binaries from the website or, preferably, a corresponding Lmod module provided by the cluster admins. Compiling Julia from source will generally **not** improve the performance of your code (Julia is a compiler in itself) but may very well be cumbersome. Unless you know what you're doing and have a very good reason (e.g. creating a debug build with flags like `USE_INTEL_JITEVENTS=1`) you should not compile Julia yourself. @@ -44,7 +48,7 @@ Note that you can use the slim `mpiexecjl` wrapper from `MPI.jl` to use the "cor ## How can I force Julia to compile code for a heterogeneous cluster? -Set [`JULIA_CPU_TARGET`](https://docs.julialang.org/en/v1.10-dev/manual/environment-variables/#JULIA_CPU_TARGET) to a value that is generic enough to cover all the types of CPUs that you're targeting. +Set [`JULIA_CPU_TARGET`](https://docs.julialang.org/en/v1.10-dev/manual/environment-variables/#JULIA_CPU_TARGET) to a value that is generic enough to cover all the types of CPUs that you're targeting. You can get the CPU target name for the current system with `Sys.CPU_NAME`. **Example:** `JULIA_CPU_TARGET="generic;skylake-avx512,clone_all;znver2,clone_all"`. diff --git a/website/user_gettingstarted.md b/website/user_gettingstarted.md index 314b8b4..eb9c3d9 100644 --- a/website/user_gettingstarted.md +++ b/website/user_gettingstarted.md @@ -23,9 +23,9 @@ Getting started with Julia on a new cluster can sometimes be a challenge. Below When starting on a new HPC cluster the first thing you should do is figure out if there is a pre-configured Julia module ([Lmod module](https://lmod.readthedocs.io/en/latest/010_user.html)) available on the cluster. To that end, `module key julia` or `module spider julia` might be helpful commands. -If there is no Julia module available that you can load, you should download and use the regular, precompiled Julia binaries. We strongly recommend to use [juliaup](https://github.com/JuliaLang/juliaup) for this. Alternatively, you can also manually download the binaries directly [from the website](https://julialang.org/downloads/). +If there is no Julia module available that you can load, you should download and use the regular, precompiled Julia binaries. We strongly recommend to use [juliaup](https://github.com/JuliaLang/juliaup) for this. Alternatively, you can also manually download the binaries directly [from the website](https://julialang.org/downloads/). In any case, you should generally **not** build Julia from source (unless you have a very good reason). -In any case, you should generally **not** build Julia from source (unless you have a very good reason). +Note that you **do not** need root privileges. Julia, and its packages, works great without special permissions in user space. [⤴ _**back to Content**_](#content) @@ -54,6 +54,6 @@ To make Julia produce efficient code that works on different CPUs, you need to s `export JULIA_CPU_TARGET="generic;skylake-avx512,clone_all;znver2,clone_all"`. -For more information, see [this section of the Julia documentation](https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_CPU_TARGET) and [this section of the developer documentation](https://docs.julialang.org/en/v1/devdocs/sysimg/#Specifying-multiple-system-image-targets). +You can get the CPU target name for the current system with `Sys.CPU_NAME`. For more information, see [this section of the Julia documentation](https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_CPU_TARGET) and [this section of the developer documentation](https://docs.julialang.org/en/v1/devdocs/sysimg/#Specifying-multiple-system-image-targets). [⤴ _**back to Content**_](#content) \ No newline at end of file