That's great to hear. I would really like to address the learning curve for
being able to write efficient Julia code, both by removing some of the
performance gotchas and by providing better feedback – like Tim Holy's PR
<https://github.com/JuliaLang/julia/pull/9349> for highlighting type issues.

On Tue, Dec 16, 2014 at 11:52 AM, Petr Krysl <[email protected]> wrote:

> I have made some progress in my effort to gain insight into  Julia
> performance in finite element solvers.
>
> I have compared my solver, J FinEALE, (compute and assemble global FE
> matrices and vectors, then solve the sparse system with Julia's sparse
> matrix  facilities) with the commercial FEA software Comsol 4.4.
>
> If anyone is interested, I could document this in a more comprehensive
> fashion, possibly with the paper.  But here goes a real quick rundown:
>
> Heat conduction, nonzero essential boundary conditions, nonzero internal
> heat generation rate.
> Mesh of 2 million linear triangles.  1,000,000 degrees of freedom.
> The mesh generation and kickoff of the simulation (assignment of boundary
> conditions and such) is done by the solver in a separate step, so that is
> not counted towards the total time spent  computing in J FinEALE  either.
>
> J FinEALE: 20.6 seconds
> Comsol 4.4 w/ PARDISO: 16 seconds
> Comsol 4.4 w/ MUMPS: 22 seconds
> Comsol 4.4 w/ SPOOLES: 37 seconds
>
> Just for contrast:
> Matlab FinEALE: 810 seconds.
>
> What I found particularly interesting was what it took  to reduce the
> time  for this solution from the initial  rewrite from Matlab (around 86
> seconds) to the present performance: identify  features that degrade
> performance (declare types!),  code critical bottlenecks with ad hoc
> functions.   The critical feature of Julia that made this possible  was the
> speed with which it can execute  loops  written entirely in Julia.   There
> is no need  to call outside help (ala mex-files, which by the way would be
> of no help in this case).
>
> Briefly, Julia DELIVERS! Bravo to the development team.
>
> Petr
>
>
>

Reply via email to