LBPM/ValgrindSuppresionFile
James E. McClure fac681dffe
Rc 08.15.2022 (#70)
* summit configure

* add spock scripts to FOM

* get new models to build with hip

* add hip slipping bc

* testing communication on spock

* update spock build based on olcf docs

* update configure & test scripts for spock

* Fixing potential bugs with communication

* Adding simple test of GPU aware MPI

* some changes to configure for spock

* Modifying GPU aware MPI test to send multiple messages

* playing with spock Gpu test

* added gpu wrapper test

* Cleaning up some compiler warnings

* add barrier between pack / MPI send

* Updating build to support HIP as a language

* fixing gpu mpi sync

* Adding script

* local spock changes

* add membrane class

* update membrane structure

* membrane communications

* working on new comm data structures

* add membrane unit test

* membrane compiles

* membrane test

* Updating hip port to match cuda

* update summit config

* update summit config

* add configure script for crusher

* update membrane test

* update membrane test

* convention for inside / outside membrane link direction

* working on membrane comm

* try to fix time conversion factor for Poisson solver; to be built and tested

* fix dumb typo

* update summit config

* tune launch for crusher

* tune launch for mrt on crusher

* update color

* summit script with specific module versions

* update crusher config

* add crusher examples

* add dense case for crusher

* Fixing some quick annoying compile warnings

* fix binding in example

* working on fix

* Adding simple crusher test

* Adding new crusher MPI test

* disable MPI thread multiple for crusher

* updates to crusher configure

* cpu test for crusher

* Working on standalone reproducer for MPI bug

* More work on creating standalone test

* More work on creating standalone test

* More work on creating standalone test

* Reverting TestCrusher2, standalone version passes (TestCrusher3.cpp), need to figure out why

* Working on standalone MPI test on crusher

* Working on standalone MPI test on crusher

* Getting closer to stand alone test

* Still trying to create standalone reproducer

* hang fix / workaround

* Created standalone MPI failure test

* Removing TestCrusher tests, the bug deals with the StackTrace which we disable the multistack trace for now.  Moving the test out of LBPM

* fix sendcount / recvcount

* Testing persistent communication

* Updating calculation of bandwidth

* crusher hackathon final version

* working on membrane communication structures

* add cell simulator

* added cell simulator

* make sure halo is filled when measuring object

* add membrane transport function for d3q7

* add membrane unpack function

* poking at MF issue

* update crusher build

* membrane data structures compiling

* update to membrane capability

* update comments in ion model

* fix dumb print bug

* clean up relabel

* adding membrane functions

* move membrane to common folder

* membrane structure in IonModel

* membrane structure in IonModel

* try at membrane simulator

* add python script to generate bubble

* add python script to generate bubble

* cell simulator runs

* read input files

* add single cell example

* refining cell example

* start on cuda function

* werkin

* start on cuda function

* start on hip function

* updates and fix for user input reader

* update cell example

* add sigmoid to ion equilibrium dist

* cuda build succeeds

* update crusher script

* getting ready to merge gpu

* refactor compact AA routines for testing

* add testing functions to ScaLBL

* testing membrane ion transport

* membrane transport test passing

* membrane starts working ok...

* original wang poisson solver (broken)

* rex d3q19 (broken)

* tau from wang paper

* still broken wang

* d319 poisson works good

* Poisson working pretty good now

* initialize nernst-planck simulator; to be built subject to debugging

* fix a few syntax bugs and build passed

* Poisson solver; enable specifying initial values

* update cell example

* add GPU functions for d3q19 poisson

* fix dumb bugs

* fix bugs in initializing electric potential; the Psi on solid was accidentally overwritten before.

* small change

* fix bugs in importing ion model's dummy velocity

* add membrane concentration init

* remove bad warnings

* remove print staetements

* add barriers to poisson solver

* update print

* print membrane input concentration

* read Membrane ion concentration list

* fix bad ref to D3Q7

* update error analysis for Poisson solver

* fix typo

* update hip poisson solver

* deprecate old error methods

* a bunch of summit debug things to roll back later

* fix poisson typo

* update hip

* debug crusher

* debug charge density problems on crusher

* fix charge density (i think)

* remove Stokes solver from cell simulator; need to test build

* update cpu ion valence

* added membrane properties to input db

* update cell db

* update executable list and NP_cell simulator

* correct use_membrane functionality

* add functionality for user to choose either D3Q7 or D3Q19 lattice for Poisson;to be built and tested

* build passed

* make further corrections

* correct D3Q7 Poisson LB algorithm

* correct ion LB collison

* udpate output precision

* add more tweaks for cell simulator

* update print-out

* this makes mpi hang error explicit;to be debugged

* cleanup with help from valgrind

* update to cell vis routine

* add hip for ion update

* fix missing bracket

* add new ion code for cuda

* add barrier to membrane transport

* debug gpu launch issue for ion

* debug gpu

* add functions to copy send / recv list from ScaLBL

* updating membrane communication structure

* membrane test works with new comm

* communication seems to work

* add sample files for plane membrane

* update gpu routines first try

* update hip

* multiple nvidia gpu working with membrane

* added membrane analysis capability

* added support for swc file

* support for SWC input format

* swc reader works with MPI

* shift swc data

* SWC reader update

* SWC reader update 2

* add offset to Domain for swc

* add input files for simple bacteria

* add performance counters to ion / poisson solvers

* fix bug with SWC

* add BC to poisson solver

* fix compiler warnings

* fix memory leaks

* fix zlib download path

* Fixing memory leak

* Fixing memory leaks

* restart for Poisson model

* fix bug in ion model restart

* trying to fix yaml

* fix workflow indentation

* porosity factor in effperm

* porosity factor in effperm

* porosity factor in effperm

* porosity factor in effperm

Co-authored-by: James E McClure <mcclurej@vt.edu>
Co-authored-by: Mark Berrill <berrillma@ornl.gov>
Co-authored-by: Zhe Rex Li <zhe.rex.li@gmail.com>
Co-authored-by: Zhe Li <zzl109@gadi-login-01.gadi.nci.org.au>
Co-authored-by: Zhe Li <zzl109@gadi-login-04.gadi.nci.org.au>
Co-authored-by: Zhe Li <zzl109@gadi-login-02.gadi.nci.org.au>
Co-authored-by: Zhe Li <zzl109@gadi-login-06.gadi.nci.org.au>
Co-authored-by: Zhe Li <zzl109@gadi-login-05.gadi.nci.org.au>
2022-09-07 21:44:16 +02:00

226 lines
2.9 KiB
Plaintext

# To run valgrind:
# mpirun -np 2 valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --suppressions=ValgrindSuppresionFile --log-file=valgrind-out.txt ./lbpm_nernst_planck_cell_simulator test.db
# MPI supressions
{
MPI_init_cond
Memcheck:Cond
...
fun:PMPI_Init
...
}
{
MPI_init_value
Memcheck:Value8
...
fun:PMPI_Init
...
}
{
MPI_init_addr16
Memcheck:Addr16
...
fun:PMPI_Init
...
}
{
MPI_init_addr8
Memcheck:Addr8
...
fun:PMPI_Init
...
}
{
MPI_init_addr4
Memcheck:Addr4
...
fun:PMPI_Init
...
}
{
MPI_init_addr1
Memcheck:Addr1
...
fun:PMPI_Init
...
}
{
gethostname_cond
Memcheck:Cond
...
fun:gethostbyname_r
fun:gethostbyname
...
}
{
gethostname_value
Memcheck:Value8
...
fun:gethostbyname_r
fun:gethostbyname
...
}
# System errors
{
map_doit_memory
Memcheck:Cond
fun:index
fun:expand_dynamic_string_token
fun:_dl_map_object
fun:map_doit
fun:_dl_catch_error
...
}
{
expand_dynamic_string_token
Memcheck:Cond
fun:index
fun:expand_dynamic_string_token
...
fun:dl_main
fun:_dl_sysdep_start
fun:_dl_start
...
}
{
call_init
Memcheck:Leak
match-leak-kinds: reachable
...
fun:call_init
fun:_dl_init
...
}
# pthread errors
{
pthread_initialize_param
Memcheck:Param
set_robust_list(head)
fun:__pthread_initialize_minimal
fun:(below main)
}
{
pthread_initialize_cond
Memcheck:Cond
fun:__register_atfork
fun:__libc_pthread_init
fun:__pthread_initialize_minimal
fun:(below main)
}
# gfortran
{
gfortran_leak
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
obj:/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
...
}
# std
{
libc_cond
Memcheck:Cond
...
fun:_dl_init_paths
fun:_dl_non_dynamic_init
fun:__libc_init_first
fun:(below main)
}
{
libc_val8
Memcheck:Value8
...
fun:_dl_init_paths
fun:_dl_non_dynamic_init
fun:__libc_init_first
fun:(below main)
}
{
mallinfo_cond
Memcheck:Cond
fun:int_mallinfo
fun:mallinfo
...
}
{
mallinfo_value
Memcheck:Value8
fun:int_mallinfo
fun:mallinfo
...
}
{
int_free_cond
Memcheck:Cond
fun:_int_free
...
}
{
string_len_cond
Memcheck:Cond
fun:strlen
...
}
{
int_malloc_cond
Memcheck:Cond
fun:_int_malloc
fun:malloc
...
}
{
malloc_consolidate_malloc
Memcheck:Cond
fun:malloc_consolidate
fun:_int_malloc
...
}
{
malloc_consolidate_free
Memcheck:Cond
fun:malloc_consolidate
fun:_int_free
...
}
{
catch_cond
Memcheck:Cond
fun:__cxa_begin_catch
...
}
{
popen
Memcheck:Param
set_robust_list(head)
fun:__nptl_set_robust
fun:__libc_fork
fun:_IO_proc_open
fun:popen
...
}
{
exit
Memcheck:Value8
fun:__run_exit_handlers
...
fun:exit
...
}
{
sse42
Memcheck:Cond
fun:__strstr_sse42
...
}