[petsc-dev] Julia Petsc Wrapper
Jared Crean
jcrean01 at gmail.com
Tue Jul 14 10:56:19 CDT 2015
Hello everyone,
I got the package in a reasonably working state and Travis
testing setup, so I am putting the package up on Github.
https://github.com/JaredCrean2/PETSc.jl
There is still a lot more work to do, but its a start.
A couple questions:
When looking though the code, I noticed the MPI communicator is
being passed as a 64 bit integer. mpi.h typedefs it as an int, so
shouldn't it be a 32 bit integer?
Also, is there a way to find out at runtime what datatype a
PetscScalar is? It appears PetscDataTypeGetSize does not accept
PetscScalar as an argument.
Jared Crean
On 07/06/2015 09:02 AM, Matthew Knepley wrote:
> On Mon, Jul 6, 2015 at 4:59 AM, Patrick Sanan <patrick.sanan at gmail.com
> <mailto:patrick.sanan at gmail.com>> wrote:
>
> I had a couple of brief discussions about this at Juliacon as
> well. I think it would be useful, but there are a couple of things
> to think about from the start of any new attempt to do this:
> 1. As Jack pointed out, one issue is that the PETSc library must
> be compiled for a particular precision. This raises some questions
> - should several versions of the library be built to allow for
> flexibility?
> 2. An issue with wrapping PETSc is always that the flexibility of
> using the PETSc options paradigm is reduced - how can this be
> addressed? Could/should an expert user be able to access the
> options database directly, or would this be too much violence to
> the wrapper abstraction?
>
>
> I have never understood why this is an issue. Can't you just wrap our
> interface level, and use the options just as we do? That
> is essentially what petsc4py does. What is limiting in this
> methodology? On the other hand, requiring specific types, ala FEniCS,
> is very limiting.
>
> Matt
>
> On Sat, Jul 4, 2015 at 11:00 PM, Jared Crean <jcrean01 at gmail.com
> <mailto:jcrean01 at gmail.com>> wrote:
>
> Hello,
> I am a graduate student working on a CFD code written in
> Julia, and I am interested in using Petsc as a linear solver
> (and possibly for the non-linear solves as well) for the
> code. I discovered the Julia wrapper file Petsc.jl in Petsc
> and have updated it to work with the current version of Julia
> and the MPI.jl package, using only MPI for communication (I
> don't think Julia's internal parallelism will scale well
> enough, at least not in the near future).
>
> I read the discussion on Github
> [https://github.com/JuliaLang/julia/issues/2645], and it looks
> like
> there currently is not a complete package to access Petsc from
> Julia. With your permission, I would like to use the Petsc.jl
> file as the basis for developing a package. My plan is create
> a lower level interface that exactly wraps Petsc functions,
> and then construct a higher level interface, probably an
> object that is a subtype of Julia's AbstractArray, that allows
> users to store values into Petsc vectors and matrices. I am
> less interested in integrating tightly with Julia's existing
> linear algebra capabilities than ensuring good scalability.
> The purpose of the high level interface it simple to populate
> the vector or matrix.
>
> What do you think, both about using the Petsc.jl file and
> the overall approach?
>
> Jared Crean
>
>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150714/312ae297/attachment.html>
More information about the petsc-dev
mailing list