# How to import low-level API in MPI.jl

**URL:** https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086
**Category:** Julia at Scale
**Tags:** package, module, mpi, api
**Created:** [November 11, 2022, 1:30am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086 "2022-11-11T01:30:20Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Neo](https://avatars.discourse-cdn.com/v4/letter/n/9fc348/32.png) [@Neo](https://discourse.julialang.org/u/Neo)
#### Post date: [November 11, 2022, 1:30am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/1 "2022-11-11T01:30:20Z")

</div>

I wanted to use one of the low-level APIs [MPI.API.MPI\_Reduce\_scatter](https://juliaparallel.org/MPI.jl/stable/reference/api/) from MPI.jl. But I failed to import it using

```julia
using MPI: API

```

or

```julia
using MPI
MPI.API.MPI_Reduce_scatter(...)

```

Does anyone know how to use it?

---

<div class="post-metadata">

### Author: ![simonbyrne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simonbyrne/32/19_2.png) [@simonbyrne](https://discourse.julialang.org/u/simonbyrne)
#### Post date: [November 11, 2022, 1:40am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/2 "2022-11-11T01:40:56Z")

</div>

The 2nd me should work. What error do you get?

Also please consider just opening a PR to MPI.jl: addd the function and a simple test, and I will happily make a new release with it included.

---

<div class="post-metadata">

### Author: ![Neo](https://avatars.discourse-cdn.com/v4/letter/n/9fc348/32.png) [@Neo](https://discourse.julialang.org/u/Neo)
#### Post date: [November 11, 2022, 1:48am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/3 "2022-11-11T01:48:00Z")

</div>

Thanks for replying. By the second way, I got

```julia
julia> using MPI

julia> MPI.API.MPI_Reduce_scatter()
ERROR: UndefVarError: API not defined
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base ./Base.jl:35
 [2] top-level scope
   @ REPL[2]:1

```

---

<div class="post-metadata">

### Author: ![simonbyrne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simonbyrne/32/19_2.png) [@simonbyrne](https://discourse.julialang.org/u/simonbyrne)
#### Post date: [November 11, 2022, 1:50am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/4 "2022-11-11T01:50:00Z")

</div>

What version of MPI.jl are you using?

---

<div class="post-metadata">

### Author: ![Neo](https://avatars.discourse-cdn.com/v4/letter/n/9fc348/32.png) [@Neo](https://discourse.julialang.org/u/Neo)
#### Post date: [November 11, 2022, 1:52am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/5 "2022-11-11T01:52:23Z")

</div>

v0.19.2

---

<div class="post-metadata">

### Author: ![Neo](https://avatars.discourse-cdn.com/v4/letter/n/9fc348/32.png) [@Neo](https://discourse.julialang.org/u/Neo)
#### Post date: [November 11, 2022, 2:16am UTC](https://discourse.julialang.org/t/how-to-import-low-level-api-in-mpi-jl/90086/6 "2022-11-11T02:16:15Z")

</div>

It works after updating MPI
