Skip to content

Commit

Permalink
no root necessary etc
Browse files Browse the repository at this point in the history
  • Loading branch information
carstenbauer committed Jul 31, 2024
1 parent d2f4c60 commit bd612a9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
6 changes: 5 additions & 1 deletion website/user_faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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"`.

Expand Down
6 changes: 3 additions & 3 deletions website/user_gettingstarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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)

0 comments on commit bd612a9

Please sign in to comment.