Submitting jobs to cdash (#124)

* Submitting jobs to cdash

* Fail on submit

* submit url env

* submit url env

* try passing submit url as arg

* fix submit url

* Updated default URL

* Add submissions for remaining ubuntu focal workflow jobs

* Replace g++ with gcc in dashboard build name

* Add --ctest-args to run-ci.sh

* Add cdash support for bionic, jammy, and opensuse workflows

* Decrease CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE

* OMNITRACE_BUILD_CODECOV option

* Support code coverage in CDash script

* CI dyninst built with debug info

* Update ci-containers

- cron schedule moved 4 hours later to UTC+5

* Update implementation of config::configure_signal_handler

- using lambdas failed to compile with codecov flags

* Add codecov job to ubuntu focal workflow

* Fix support for --ctest-args in run-ci script

* Fix ubuntu workflows

* Fix quotation handling in run-ci script

* git safe directory for codecov

* New MPI examples

* Remove --stop-on-failure

* dynamic_library update

- find_library_path checks procfs maps
- invoke find_library_path with no additional args to resolve to mapped file

* RCCLP uses dynamic_library

* check if file exists for memory_map_files metadata

* Testing updates

- include new mpi examples in tests
- fix test labels
- test critical-trace exe

* Update MPI C examples tests (needed arg)

* Remove try/catch block from critical-trace

* Fix sampling max wait when shutting down

* Fix test env for critical-trace

* Fix settings for critical-trace

- disable time output: data is deterministic
- disable PID suffixes: not multiprocess

* Update critical-trace ctest

* Update critical-trace exe

- throw error if input cannot be opened
- throw error if input has no data

* Update lulesh example with more kokkos tools usage

* Fix tasking issue with critical_trace and roctracer

- were not setting pools to active
- also sync before critical_trace::get_entries

* Increase verbosity of critical-trace tests

* Update code coverage tests

- skip code coverage + preload
- code-coverage python example and test

* Remove duplication omnitrace.initialize function

* Skip python3.6 for ubuntu jammy

* Update MPI examples

- use MPI_Isend and MPI_Irecv
- explicitly use MPI_Bcast

* Update Formatting.cmake

- include C files in examples

* run-ci script does not check return of coverage

* mpi-allreduce link to libm

* Update ctest args in run-ci script

* Update dyninst submodule

- safety improvements in BinaryEdit::openResolvedLibraryName

* capture cmake error for ctest_coverage
This commit is contained in:
Jonathan R. Madsen
2022-10-31 15:39:45 -05:00
committed by GitHub
parent 139070a2de
commit 46b6db1a4c
34 changed files with 1698 additions and 230 deletions
+30 -10
View File
@@ -751,7 +751,7 @@ CalcHourglassControlForElems(Domain& domain, Real_t determ[], Real_t hgcoef)
int error = 0;
Kokkos::parallel_reduce(
numElem,
"CalcHourglassControlForElems", numElem,
KOKKOS_LAMBDA(const int i, int& err) {
Real_t x1[8], y1[8], z1[8];
@@ -813,7 +813,7 @@ CalcVolumeForceForElems(Domain& domain)
// check for negative element volume
int error = 0;
Kokkos::parallel_reduce(
numElem,
"CalcVolumeForceForElems", numElem,
KOKKOS_LAMBDA(const int k, int& err) {
if(determ[k] <= Real_t(0.0))
{
@@ -1221,7 +1221,7 @@ CalcLagrangeElements(Domain& domain)
int error = 0;
Kokkos::parallel_reduce(
numElem,
"CalcLagrangeElements", numElem,
KOKKOS_LAMBDA(const int k, int& err) {
Real_t vdov = domain.dxx(k) + domain.dyy(k) + domain.dzz(k);
Real_t vdovthird = vdov / Real_t(3.0);
@@ -1607,7 +1607,7 @@ CalcQForElems(Domain& domain)
Index_t idx = 0;
Kokkos::parallel_reduce(
numElem,
"CalcQForElems", numElem,
KOKKOS_LAMBDA(const Index_t& i, Index_t& count) {
if(domain.q(i) > domain.qstop())
{
@@ -1931,7 +1931,7 @@ ApplyMaterialPropertiesForElems(Domain& domain)
int error = 0;
Kokkos::parallel_reduce(
numElem,
"ApplyMaterialPropertiesForElems", numElem,
KOKKOS_LAMBDA(const int i, int& err) {
Real_t vc = domain.v(i);
if(eosvmin != Real_t(0.))
@@ -1949,7 +1949,7 @@ ApplyMaterialPropertiesForElems(Domain& domain)
},
error);
if(error)
if(error != 0)
#if USE_MPI
MPI_Abort(MPI_COMM_WORLD, VolumeError);
#else
@@ -2015,7 +2015,7 @@ CalcCourantConstraintForElems(Domain& domain, Index_t length, Index_t r, Real_t
MinFinder result;
Kokkos::parallel_reduce(
length,
"CalcCourantConstraintForElems", length,
KOKKOS_LAMBDA(const int i, MinFinder& minf) {
Index_t indx = domain.regElemlist(r, i);
Real_t dtf = domain.ss(indx) * domain.ss(indx);
@@ -2065,7 +2065,7 @@ CalcHydroConstraintForElems(Domain& domain, Index_t length, Index_t r, Real_t dv
MinFinder result;
Kokkos::parallel_reduce(
length,
"CalcHydroConstraintForElems", length,
KOKKOS_LAMBDA(const int i, MinFinder& minf) {
Index_t indx = domain.regElemlist(r, i);
@@ -2167,8 +2167,9 @@ main(int argc, char* argv[])
myRank = 0;
#endif
Kokkos::initialize();
Kokkos::initialize(argc, argv);
{
Kokkos::Tools::pushRegion("initialization");
opts.its = 9999999;
opts.nx = 30;
opts.numReg = 11;
@@ -2223,24 +2224,41 @@ main(int argc, char* argv[])
MPI_Barrier(MPI_COMM_WORLD);
#endif
Kokkos::Tools::popRegion();
#if USE_MPI
double start = MPI_Wtime();
#else
timeval start;
gettimeofday(&start, NULL);
gettimeofday(&start, nullptr);
#endif
uint32_t _time_incrp = 0;
uint32_t _leap_frogp = 0;
Kokkos::Tools::createProfileSection("TimeIncr", &_time_incrp);
Kokkos::Tools::createProfileSection("LeapFrog", &_leap_frogp);
while((locDom.time() < locDom.stoptime()) && (locDom.cycle() < opts.its))
{
Kokkos::Tools::startSection(_time_incrp);
TimeIncrement(locDom);
Kokkos::Tools::stopSection(_time_incrp);
Kokkos::Tools::startSection(_leap_frogp);
LagrangeLeapFrog(locDom);
Kokkos::Tools::stopSection(_leap_frogp);
if((opts.showProg != 0) && (opts.quiet == 0) && (myRank == 0))
{
printf("cycle = %d, time = %e, dt=%e\n", locDom.cycle(),
double(locDom.time()), double(locDom.deltatime()));
}
Kokkos::Tools::markEvent("completed_timestep");
}
Kokkos::Tools::destroyProfileSection(_time_incrp);
Kokkos::Tools::destroyProfileSection(_leap_frogp);
double elapsed_time;
#if USE_MPI
elapsed_time = MPI_Wtime() - start;
@@ -2258,6 +2276,7 @@ main(int argc, char* argv[])
elapsed_timeG = elapsed_time;
#endif
Kokkos::Tools::pushRegion("finalization");
if(opts.viz)
{
DumpToVisit(locDom, opts.numFiles, myRank, numRanks);
@@ -2267,6 +2286,7 @@ main(int argc, char* argv[])
{
VerifyAndWriteFinalOutput(elapsed_timeG, locDom, opts.nx, numRanks);
}
Kokkos::Tools::popRegion();
buffer = Kokkos::View<Real_t*>();
}