Polyester.jl
Primes.jl
Our great sponsors
Polyester.jl | Primes.jl | |
---|---|---|
3 | 2 | |
211 | 90 | |
4.3% | - | |
7.5 | 6.7 | |
about 18 hours ago | 10 days ago | |
Julia | Julia | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Polyester.jl
-
[2207.08135] Parallelizing Explicit and Implicit Extrapolation Methods for Ordinary Differential Equations
This is a new stiff ODE solver which uses multi-threading within the method to make the solve of single ODEs faster in cases where it's too small to benefit from implicit threading in BLAS. Uses Polyester mixed with a very specific adaptivity method to optimize the work calculation to hit this performance. And of note, it's the type of manual parallel algorithm that cannot use array-based parallelism offered by machine learning libraries, so it's an algorithm you kind of need to implement in C++ or... Julia! Was a fun multi-year project and am really glad to see it completed.
-
Concurrency in Julia
The Folds.jl [1] package mentioned in the article is very nicely written.
For another alternative to Julia's built-in `Threads.@threads` macro, folks may also be interested in checking out `@batch` from Polyester.jl [2] (formerly CheapThreads.jl), which features particularly low-overhead threading.
- Pynguin – Allow developers to generate Python unit tests automatically
Primes.jl
-
My experience using Julia
https://github.com/trizen/julia-scripts/blob/master/Math/elliptic-curve_factorization_method.jl and https://github.com/trizen/julia-scripts/blob/master/Math/continued_fraction_factorization_method.jl are two possible significant algorithmic improvements mentioned in https://github.com/JuliaMath/Primes.jl/issues/49. The elliptic curve method in particular looks like a good compromise of speed and performance. It is (according to wikipedia) the best algorithm for numbers up to around 60 digits and is only around 70 lines of code.
-
Concurrency in Julia
This article uses very inefficient mathematical computations to illustrate concurrency. That’s fine, they are just examples. But you might also be interested in learning how it’s really done, for example by reading the Primes package. [1]
[1] https://github.com/JuliaMath/Primes.jl/blob/master/src/Prime...
What are some alternatives?
CrossHair - An analysis tool for Python that blurs the line between testing and type systems.
parallel_primes_rs - A very naïve implementation of rust algorithm that finds all primes between two numbers
Folds.jl - A unified interface for sequential, threaded, and distributed fold
pynguin - The PYthoN General UnIt Test geNerator is a test-generation tool for Python
icontract-hypothesis - Combine contracts and automatic testing.
ReusePatterns.jl - Implement composition and concrete subtyping in Julia.