144554ea0SWill Pazner# LibCEED.jl: Julia Interface for [libCEED](https://github.com/CEED/libCEED) 244554ea0SWill Pazner 36f5dc8baSWill PaznerPlease see the [LibCEED.jl 46f5dc8baSWill Paznerdocumentation](http://ceed.exascaleproject.org/libCEED-julia-docs/dev/) for 56f5dc8baSWill Paznerusage and API documentation. 66f5dc8baSWill Pazner 744554ea0SWill Pazner## Installation 844554ea0SWill Pazner 96f5dc8baSWill PaznerThe LibCEED.jl package can be installed with Julia's package manager by running 106f5dc8baSWill Pazner`] add LibCEED`. This will automatically install a pre-built binary of the 116f5dc8baSWill PaznerlibCEED library. If you require features of a specific build of libCEED (e.g. 126f5dc8baSWill PaznerCUDA/GPU support, specific compiler flags, etc.) then you should compile your 136f5dc8baSWill Paznerown version of the libCEED library, and configure LibCEED.jl to use this binary 14cbdd7b68SWill Pazneras described in the [Configuring LibCEED.jl](#configuring-libceedjl) section. 1544554ea0SWill Pazner 166f5dc8baSWill Pazner**Warning:** the pre-built libCEED binaries do not support CUDA backends 176f5dc8baSWill Pazner 186f5dc8baSWill PaznerThe pre-built binaries automatically installed by LibCEED.jl (through the 196f5dc8baSWill Pazner[libCEED_jll](https://juliahub.com/ui/Packages/libCEED_jll/LB2fn) package) are 206f5dc8baSWill Paznernot built with CUDA support. If you want to run libCEED on the GPU, you will 216f5dc8baSWill Paznerhave to build libCEED from source and configure LibCEED.jl as described in the 22cbdd7b68SWill Pazner[Configuring LibCEED.jl](#configuring-libceedjl) section. 236f5dc8baSWill Pazner 246f5dc8baSWill Pazner### Configuring LibCEED.jl 256f5dc8baSWill Pazner 266f5dc8baSWill PaznerBy default, LibCEED.jl will use the pre-built libCEED binaries provided by the 276f5dc8baSWill Pazner[libCEED_jll](https://juliahub.com/ui/Packages/libCEED_jll/LB2fn) package. If 286f5dc8baSWill Pazneryou wish to use a different libCEED binary (e.g. one built from source), 29*186a1480SWill PaznerLibCEED.jl can be configured using Julia's _preferences_ mechanism. Note that 30*186a1480SWill Paznerthis preference will be set for the currently active Julia environment, and can 31*186a1480SWill Paznerbe different between different environments. The Julia session must be restarted 32*186a1480SWill Paznerfor changes to take effect. 336f5dc8baSWill Pazner 3444554ea0SWill Pazner```julia 35*186a1480SWill Paznerjulia> using LibCEED 36*186a1480SWill Paznerjulia> set_libceed_path!("/path/to/libceed.so") 37*186a1480SWill Pazner[ Info: Setting the libCEED library path to /path/to/libceed.so. 38*186a1480SWill Pazner[ Info: Restart the Julia session for changes to take effect. 3944554ea0SWill Pazner``` 40*186a1480SWill Pazner 41*186a1480SWill PaznerSee [Preferences.jl](https://github.com/JuliaPackaging/Preferences.jl) for more 42*186a1480SWill Paznerinformation. 43