nek5000 / parrsb Goto Github PK
View Code? Open in Web Editor NEWparallel graph partitioning using recursive spectral bisection (RSB)
License: Other
parallel graph partitioning using recursive spectral bisection (RSB)
License: Other
Tested on BGQ using fparRSB_partMesh()
The current implentation do not guarantee that the partitions are contiguous.
Currently, the following functions are not valgrind
clean:
rcb_local
findSegments
mg_setup
Run gencon + parRSB to generate a ma2 file.
POSIX has reserved these names.
We can get rid of this O(n^2) loop:
https://github.com/Nek5000/parRSB/blob/master/src/con-periodic.c#L188
Currently we're using a fixed iteration counts which is not robust and efficient.
Describe the bug
Sometime in the last month, something broke in parSB related to how the connectivity works for serial cases. When I run a case in serial, I get a negative Jacobian error for every element in the mesh, but this error disappears and the case runs as normal if I run in parallel.
The reason I'm sure the error lies somewhere in parSB is because if you pre-generate the .co2
file, there is no error. So something is wrong with the automatic .co2
file generation for serial problems.
To Reproduce
I've attached a few input files that run with nekRS for you to replicate the problem. Download these files and run the following:
This fails with negative Jacobian errors:
nrsmpi pyramid 1
This works:
nrsmpi pyramid 2
This also works:
gencon
nrsmpi pyramid 1
Expected behavior
Cases should be able to run in serial.
type
from struct rcb_element
and struct rsb_element
globalId0
from struct rsb_element
GenmapMalloc
by tmalloc
when allocating struct
sGenmapMalloc
by buffer_reserve
when allocating arraysGenmapFree
by free
and buffer_free
GenmapX
by gslib
types where X is int, long, uint, ulong
.Currently, we have hard coded gs_crystal
in genmap-laplacian.c
and gs_pairwise
in
genmap-quality.c
. We should select these method automatically. May be we do this once
at the top level ?
Our current bucket sort of the Fielder vector results in unbalanced bin sizes. Hence, we may run out of memory on some ranks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.