Status of and need for ParallelAccelerator

I just notice it’s one of the packages that hasn’t been upgraded, still stuck on 0.6.

I’m just thinking is this more of a testament of there no longer being a need with Julia 1.0+ much faster with or without say thread handing?

Other abandoned IntelLabs projects are Julia2C and HPAT.jl.

HPAT was one of my favorites to point to. It just seemed like an awesome Julia-only package, 100x faster than mainstream competitors. It still may be that, while it didn’t require being made in Julia with Intel porting it to Python. Has anyone used that one from Julia with PyCall? I suppose that would also work (better than current HPAT.jl?).

With PackageCompiler.jl (seemingly in good shape) and/or other related solutions, is Julia2C simply not needed anymore (unless you really want C code out, and why would you?). It seems it was a means to an end.

See Is Intel’s ParallelAccelerator.jl still maintained? for a bunch of discussion on this. Yes, essentially ParallelAccelerator and its Julia2C is obsolete ways of getting parallelism into Julia.

That said, HPAT was a really cool project and it’s sad that was ended. But I can see why. It never really got much adoptance and relied on ParallelAccelerator which never got updated, so it would be a lot of work to get it upgraded without many users. At the same time, the release of JuliaDB kind of pushed it to the side, since JuliaDB has distributed data and computations, plus out of core support and a lot more user-focused database features like joins. Seeing that JuliaDB has JuliaComputing support, I’m not surprised the project just ended, but it was still a great technical feat to see such a fast library built using Julia+ParallelAccelerator+MPI.jl.

2 Likes

Thanks, you’ve already answered my original question, but you implied Julia2C is just a means to an end for this, also obsolete. I thought it was a separate project, and might still be worthwhile. I was thinking, should it be revived (and I was thinking could I change to to generate D code, as while similar to C/C++, has GC, and should be maybe even easier)?

I’m sure you’re right that Julia2C as used in ParallelAccelerator, while I understood the later to generate C++. Julia2C may have been the starting point (subset of C++).

Right, do you have any experience with their Python replacement? Does it work with Julia, through PyCall or pyjulia? I mean is that sensible?