-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Big Stencil Computation? #21
Comments
Was reading http://hpc.pnl.gov/globalarrays/papers/GA-UserManual-Main.pdf recently. They suggest (on page 9) that stencils would be a case where the DArrays are not a good fit. |
perhaps because there was less flexibliity is that implementation? |
Yes, I'm surprised by that statement. Sundials' parallel N_Vector seems very similar to DArrays. At least for making DArrays work with a finite difference PDE solver well, we just need stencil calculations and in-place broadcast. I'll wait on broadcast since I know that's changing in v1.0, but I was thinking that stencil computations would be a great GSoC project. The library DiffEqOperators.jl automatically builds lazy arbitrary order stencils for PDE operators, and so what's left is parallelizing that well. I thought it would be as simple as making the DArray send the data at the ends of the vector asynchronously with its computation of the stencil on the local array. @andreasnoack if you can clarify why that wouldn't work out well then that could help. If we need to, we can build a parallel array over MPI or get native Julia codes working with PETSc vectors, but I'd like to try to make this pure-Julia. |
I think the main concern is that we currently don't optimise regular access patterns well. One would want to distribute the data to minimise the amount of communication for stencil and do pre-fetching. |
+1 |
Would be great to be able to do big stencils (constant coefficient, non-constant coefficient)
with DARRAYS
The text was updated successfully, but these errors were encountered: