Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #4798 > unrolled thread

My Parallel C++ Conjugate Gradient Linear System Solver Library that scales very well was updated to version 1.74

Started byHorizon68 <horizon@horizon.com>
First post2018-12-19 08:03 -0800
Last post2018-12-19 08:03 -0800
Articles 1 — 1 participant

Back to article view | Back to comp.programming.threads


Contents

  My Parallel C++ Conjugate Gradient Linear System Solver Library that scales very well was updated to version 1.74 Horizon68 <horizon@horizon.com> - 2018-12-19 08:03 -0800

#4798 — My Parallel C++ Conjugate Gradient Linear System Solver Library that scales very well was updated to version 1.74

FromHorizon68 <horizon@horizon.com>
Date2018-12-19 08:03 -0800
SubjectMy Parallel C++ Conjugate Gradient Linear System Solver Library that scales very well was updated to version 1.74
Message-ID<pvdq3k$lg0$5@dont-email.me>
Hello...


My Parallel C++ Conjugate Gradient Linear System Solver Library that 
scales very well was updated to version 1.74

Here is what i have enhanced:

The Solve() method is now thread-safe, so you can call it from multiple 
threads, everything else is thread-safe except for the constructor , you 
have to call the constructor one time from a process and use the object 
from multiple threads.

I think that my library is much more stable and fast and it works
on both Windows and Linux.

Sparse linear system solvers are ubiquitous in high performance 
computing (HPC) and often are the most computational intensive parts in 
scientific computing codes. A few of the many applications relying on 
sparse linear solvers include fusion energy simulation, space weather 
simulation, climate modeling, and environmental modeling, and finite 
element method, and large-scale reservoir simulations to enhance oil 
recovery by the oil and gas industry.

Conjugate Gradient is known to converge to the exact solution in n steps 
for a matrix of size n, and was historically first seen as a direct 
method because of this. However, after a while people figured out that 
it works really well if you just stop the iteration much earlier - often 
you will get a very good approximation after much fewer than n steps. In 
fact, we can analyze how fast Conjugate gradient converges. The end 
result is that Conjugate gradient is used as an iterative method for 
large linear systems today.

You can read about it and download it from my website here:

https://sites.google.com/site/scalable68/scalable-parallel-c-conjugate-gradient-linear-system-solver-library


Thank you,
Amine Moulay Ramdane.

[toc] | [standalone]


Back to top | Article view | comp.programming.threads


csiph-web