omlins/ParallelStencil.jl

Can't work with Pluto.jl

Opened this issue · 8 comments

I want to write code on Pluto.jl. But I found this issue.
image

@Vcholerae1 Thanks for reporting the issue. Does this issue occur only when you try to rerun the notebook or already the first time when you run it?

Hello @omlins

Thank you for your response!

I encountered this issue the very first time I ran the notebook.

Additionally, I’m experiencing another problem in Pluto.jl. When I use using ParallelStencil, it doesn’t automatically import CUDA. (This might be a design limitation of Pluto.jl, but I’m not entirely sure, as I’m still new to Julia😊). When I explicitly specify the CUDA dependency, running @init_parallel_stencil results in the following error:

Module Data from previous module initialization found in caller module (Main.var"workspace#12");'
module Data not created. Note: this warning is only shown in non-interactive mode.

then I can't using marco '@fill' to release the power of ParallelStencil.jl
the warning message is like this

NotInitializedError: no ParallelStencil macro or function can be called before @init_parallel_stencil in each module (missing call in Main.var"workspace#14").

Stack trace
Here is what happened, the most recent locations are first:

check_initialized(caller::Module) @ init_parallel_stencil.jl:94
var"@fill"(__source__::LineNumberNode, __module__::Module, args::Vararg{Any}) @ init_parallel_stencil.jl:8
#macroexpand#66 @ expr.jl:122
macroexpand @ expr.jl:120

I am willing to help with testing related issues.

Could you please try once __init__() = @init_parallel_stencil(CUDA, Float64, 3) instead of just @init_parallel_stencil(CUDA, Float64, 3) ?

@omlins I already tried that without success... got same error

@omlins I got the same conclusion.

The root cause for the issue could be the same as in #167 . Waiting for a feedback from @timholy

@Vcholerae1 : I've been able to ensure full compatibility with Revise.jl (#167 ) and released this in https://github.com/omlins/ParallelStencil.jl/releases/tag/v0.14.1

There is a good chance that the changes done could also have solved the compatibility issue with Pluto.jl. Could you please try again and report back?

@omlins I have tested it and Pluto still has issues. Marco @init_marallel_strencil cannot be implicitly imported into CUDA as a dependency,the init macro does not work and @fill still cannot be used