xref: /libCEED/julia/LibCEED.jl/README.md (revision 990fdeb6bb8fc9af2da4472bdc0d1f57da5da0e5)
1# LibCEED.jl: Julia Interface for [libCEED](https://github.com/CEED/libCEED)
2
3Please see the [LibCEED.jl documentation](http://ceed.exascaleproject.org/libCEED-julia-docs/dev/) for usage and API documentation.
4
5## Installation
6
7The LibCEED.jl package can be installed with Julia's package manager by running `] add LibCEED`.
8This will automatically install a pre-built binary of the libCEED library.
9If you require features of a specific build of libCEED (e.g. CUDA/GPU support, specific compiler flags, etc.) then you should compile your own version of the libCEED library, and configure LibCEED.jl to use this binary as described in the [Configuring LibCEED.jl](#configuring-libceedjl) section.
10
11**Warning:** the pre-built libCEED binaries do not support CUDA backends
12
13The pre-built binaries automatically installed by LibCEED.jl (through the [libCEED_jll](https://juliahub.com/ui/Packages/libCEED_jll/LB2fn) package) are not built with CUDA support.
14If you want to run libCEED on the GPU, you will have to build libCEED from source and configure LibCEED.jl as described in the [Configuring LibCEED.jl](#configuring-libceedjl) section.
15
16### Configuring LibCEED.jl
17
18By default, LibCEED.jl will use the pre-built libCEED binaries provided by the [libCEED_jll](https://juliahub.com/ui/Packages/libCEED_jll/LB2fn) package.
19If you wish to use a different libCEED binary (e.g. one built from source), LibCEED.jl can be configured using Julia's _preferences_ mechanism.
20Note that this preference will be set for the currently active Julia environment, and can be different between different environments.
21The Julia session must be restarted for changes to take effect.
22
23```julia
24julia> using LibCEED
25julia> set_libceed_path!("/path/to/libceed.so")
26[ Info: Setting the libCEED library path to /path/to/libceed.so.
27[ Info: Restart the Julia session for changes to take effect.
28```
29
30See [Preferences.jl](https://github.com/JuliaPackaging/Preferences.jl) for more information.
31