GenericMappingTools / GenericMappingTools/GMT.jl
GMT.jl is not thread capable
- Dominant language
- Julia
- Stars
- 221
- Forks
- 36
- Avg merge
- 1h 36m
- Merged PRs (30d)
- 17
Description
Made this experiment
```
julia> Threads.nthreads()
6
julia> G = GMT.peaks(N=2000);
julia> @time for k=1:20 grdgradient(G, A=0); end
9.382858 seconds (160.01 M allocations: 2.683 GiB, 4.60% gc time)
julia> @time Threads.@threads for k=1:20 grdgradient(G, A=0); end
grdgradient [ERROR]: Option -n given more than once
grdgradient [ERROR]: Option -n parsing failure. Correct syntax:
...
```
The problem is very likely that all threads are using the same ``API`` session and mess follows as it has to be.
The solution seems to be to create a mechanism where each new thread launches a new ``gmt()`` process with its own ``API`` session.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.