Comments (3)
Hi Fei,
The main reason you are seeing this performance is that the problem size is already quite small. When you go from 1 process to multiple, you introduce communication, which is huge relative to the cost of computation. Things don't get much better from there because the problem size per processor gets smaller still as you increase the number of processors.
There are some things we could do in the implementation to improve performance at these small scales (such as implement a block version of cyclic reduction), but we don't have any plans to do that right now and I'm not sure the improvements would be that great anyway.
Try increasing the problem size and you should see better scaling. That may not be a helpful option for you, though.
-Rob
from hypre.
Thanks Rob! If the method I'm using right now is not a good choice, could you recommend other solvers in HYPRE that may suit for my small scale problem? I appreciate any suggestion and information.
from hypre.
No other suggestions in hypre. There may be some other software libraries out there that are more tuned for small scale parallelism that you could use. I know that some colleagues at LANL have implemented line smoothers that are more like the block approach I mentioned above. I don't know if that code is readily available though.
Part of what I am also trying to tell you is that the problem and hardware characteristics are largely to blame for your less-than-impressive speedups. This is independent of the solver used. Hardware today (and for many years actually) is much slower at communication than with computation. If communication latency was zero, then the cyclic reduction algorithm in hypre would give you beautiful speedup numbers.
from hypre.
Related Issues (20)
- HYPRE CUDA examples only work in Debug builds HOT 3
- tar files for previous releases (to track down the cause of increased iteration counts when upgrading from 2.0.0) HOT 3
- Relative error floor for AMS in semi-definite Maxwell problems
- the setup time accounts for 77%
- changed default settings from 2.0.0 to 2.30.0 HOT 3
- Bad convergence using BoomerAMG for system of equations and InterpType doesn't work HOT 2
- New hypre release 2.31.0 HOT 6
- ParCSRAAt for nonsquare matrices HOT 1
- INSTALL.md: add Macports option for macOS
- Broken link in docs
- Requesting information on cmake for applications
- Improve GPU-aware MPI option
- When using AMS_PCG to solve multiple right-hand sides iteratively, I've noticed a continuous increase in memory usage.
- Could NOT find HYPRE (missing: HYPRE_LIBRARIES HYPRE_INCLUDE_DIRS)
- Floating point exception inf pcg.c HOT 1
- Can we find a minimal self-contained gpu example of using hypre ij interface nad its related solver?
- Best configuration to BoomerAMG on CPUs
- ij.c fails when compiling with cuda 12.2
- Missing MPI C++ bindings when using FEI
- Potentially incorrect `hypre_assert` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hypre.