From 85ece4281d1bb22383a611312842df96ec609706 Mon Sep 17 00:00:00 2001 From: Simon Byrne Date: Fri, 24 Jan 2020 21:26:31 -0800 Subject: [PATCH] mention UCX multithreading issue --- docs/make.jl | 1 + docs/src/knownissues.md | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 docs/src/knownissues.md diff --git a/docs/make.jl b/docs/make.jl index 5d8a22324..6a0ac558a 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -44,6 +44,7 @@ makedocs( "index.md", "installation.md", "usage.md", + "knownissues.md", "Examples" => EXAMPLES, "Reference" => [ "environment.md", diff --git a/docs/src/knownissues.md b/docs/src/knownissues.md new file mode 100644 index 000000000..531ff9db4 --- /dev/null +++ b/docs/src/knownissues.md @@ -0,0 +1,10 @@ +# Known issues + +## UCX and Julia multi-threading + +When using [multi-threading](https://docs.julialang.org/en/v1/manual/parallel-computing/#man-multithreading-1), the Julia garbage collector internally uses [`SIGSEGV` to synchronize threads](https://docs.julialang.org/en/v1/devdocs/debuggingtips/#Dealing-with-signals-1). This can cause issues with the UCX library, which is often used as a communication layer by OpenMPI, which by default will error this signal is raised ([#337](https://github.com/JuliaParallel/MPI.jl/issues/337)). + +This signal interception can be disabled by setting the environment variable `UCX_ERROR_SIGNALS` to be an empty string, e.g. +``` +mpiexec -x JULIA_NUM_THREADS=4 -x UCX_ERROR_SIGNALS="" julia script.jl +``` \ No newline at end of file