<div dir="ltr">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:<div>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?</div><div>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?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 4, 2015 at 11:00 PM, Jared Crean <span dir="ltr"><<a href="mailto:jcrean01@gmail.com" target="_blank">jcrean01@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<big>Hello,<br>
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).<br>
<br>
I read the discussion on Github
[<a href="https://github.com/JuliaLang/julia/issues/2645" target="_blank">https://github.com/JuliaLang/julia/issues/2645</a>], and it looks
like <br>
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.<br>
<br>
What do you think, both about using the Petsc.jl file and
the overall approach?<span class="HOEnZb"><font color="#888888"><br>
<br>
Jared Crean</font></span></big><br>
</div>
</blockquote></div><br></div>