jipolanco / PencilFFTs.jl

Fast Fourier transforms of MPI-distributed Julia arrays
https://jipolanco.github.io/PencilFFTs.jl/dev/
MIT License
77 stars 7 forks source link

ERROR: LoadError: UndefVarError: Waitall not defined #60

Closed dforero0896 closed 1 year ago

dforero0896 commented 1 year ago

Hi, I'm trying to follow your gradient example in the docs (https://jipolanco.github.io/PencilFFTs.jl/dev/generated/gradient/#gradient_benchmarks) though with a slightly different setup

using MPI
using PencilArrays
using PencilFFTs
using Random

MPI.Init()

n_grid = 512

comm = MPI.COMM_WORLD
pen = Pencil(Tuple(n_grid for _ in 1:3), comm)
transform = Transforms.RFFT()
plan = PencilFFTPlan(pen, transform)
rho = allocate_input(plan)
randn!(rho)
@show summary(rho)
rho_hat = plan * rho

and I get

Stacktrace:
  [1] macro expansion
    @ ~/.julia/packages/TimerOutputs/LDL7n/src/TimerOutput.jl:252 [inlined]
ERROR: LoadError: UndefVarError: Waitall not defined
Stacktrace:
  [1] macro expansion
  [2] _wait_mpi_operations!(t::PencilArrays.Transpositions.Transposition{ComplexF64, 3, Pencil{3, 2, NoPermutation, Vector{UInt8}}, Pencil{3, 2, Permutation{(2, 1, 3), 3}, Vect
or{UInt8}}, PencilArray{ComplexF64, 3, Array{ComplexF64, 3}, 3, 0, Pencil{3, 2, NoPermutation, Vector{UInt8}}}, PencilArray{ComplexF64, 3, Array{ComplexF64, 3}, 3, 0, Pencil{3,
 2, Permutation{(2, 1, 3), 3}, Vector{UInt8}}}, PencilArrays.Transpositions.PointToPoint}, to::TimerOutputs.TimerOutput)
    @ ~/.julia/packages/TimerOutputs/LDL7n/src/TimerOutput.jl:252 [inlined]
    @ PencilFFTs ~/.julia/packages/PencilFFTs/LJSnm/src/operations.jl:208

with much more output below.

Do you know what may be causing this?

Thanks!

jipolanco commented 1 year ago

Hi, this seems to be related to a change in MPI.jl 0.20, which deprecated MPI.Waitall! for MPI.Waitall (without the !).

What versions of PencilFFTs.jl, PencilArrays.jl and MPI.jl are you using? Can you try updating your environment?

If you are using the latest versions of all of them, then you shouldn't see this issue. And perhaps I should restrict further the versions of the dependencies of PencilFFTs...

dforero0896 commented 1 year ago

Hi, thanks for your quick answer. It was indeed an issue of updating the packages as all seems to be working fine now.