Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draco-7_2_0 #637

Merged
merged 5 commits into from
Jun 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

cmake_minimum_required(VERSION 3.14.0 FATAL_ERROR)
project( Draco
VERSION 7.1
VERSION 7.2
DESCRIPTION "An object-oriented component library supporting radiation transport applications."
LANGUAGES CXX C )

Expand Down
126 changes: 126 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,129 @@
2019-06-13 Kelly (KT) Thompson <[email protected]>

* Overview

Draco has been updated to version 7_2_0 and is tied to the release
of Jayenne-8_1_0 and Capsaicin-1_1_0. This release was completed
on the following platforms/toolsets:

* Platforms:
CTS-1 Intel 18.0.2 OpenMPI-2.1.2
(SN/GR/FI/IC/CY) Intel 17.0.4 OpenMPI-2.1.2
GCC 7.4.0 OpenMPI-2.1.2
ATS-1 Intel 18.0.2 Cray_MPICH2-7.7.4
(TT/TR) Intel 17.0.4 Cray_MPICH2-7.7.4
TH/CP - -
ATS-2 GCC 7.3.1 Spectrum MPI
XL 2019.04 Spectrum MPI

* Information:

Draco-7_2_20190613, build date 2019/06/13;build type: Debug;DBC: 7;
DRACO_DIAGNOSTICS: 0

CCS-2 Draco Team: Kelly G. Thompson, Kent G. Budge, Ryan T. Wollaeger,
Alex R. Long, James S. Warsa, Matt A. Cleveland, Kendra P. Long,
Tim Kelley, Jae H. Chang, Andrew T. Till, and David A. Dixon.

Prior Contributers: Gabriel M. Rockefeller, Allan B. Wollaber, Rob B. Lowrie,
Paul W. Talbot, Katherine J. Wang, Peter Ahrens, Daniel Holladay,
Jeff D. Densmore, Massimiliano Rosa, Todd J. Urbatsch, Jeff Furnish,
John McGhee, Kris C. Garrett, Mike Buksas, Nick Myers, Paul Henning,
Randy Roberts, Seth Johnson, Todd Adams, Tom Evans, and Lori Pritchett-Sheats.

Copyright (C) 2016-2019 Triad National Security, LLC. (C19028, LA-CC-16-016),
Released under a 3-Clause BSD License.

* Summary of changes:

- 192 files changed, added or removed in 121 commits.
- Github #590 Begin supporting rzansel and sierra (ATS-2) machines
(power9 + volta).
- Gitlab #616, #623 Better support for some Darwin nodes (x86+volta,
power9+volta, arm).
- Github #577 New Open Source License, Copyright record C19028
- Github #586 Add analytic electron-ion coupling coefficient support to
CDI.
- Github #589, #604 Update device package and build system code to
support newer CUDA (v9, v10).
- Github #592 Begin providing support for atomics.
- Github #620 Fix a "C++ static initialization fiasco" bug to fix broken
static builds.
- Github #633 Enable 1D and 3D: mesh construction and X3D parsing
- Github #634 Provide a function to query env vars and provide access to
SLURM info.

* Corrected Defects

- Github #585, #622 Update the IPCRESS reader for python3.
- Github #606 Don't force DBS settings on clients
- Github #618 Provide an implementation for Processor_Group when
C4=SCALAR.
- Bug #1151 Occasional mpirun errors on snow
- Bug #1242 Support machines where mpiexec is at /usr/bin
- Bug #1268 memory: needs more tests
- Bug #1399 tt-fey: fix sync_repository module errors
- Bug #1405 trinitite: new issues
- Bug #1409 Building cuda test/library fails due to pthread flag
- Bug #1418 Darwin: ARM regression fails to build draco
- Bug #1424 Regressions: switch to gcc/7.4.0 for nightly (new production
compiler)
- Bug #1436 Unregistered dependency
- Bug #1441 Archive (gitlab) darwin & rzansel spack configs
- Bug #1442 Fix build warnings for darwin volta-x86 nodes
- Bug #1447 Create asc_packages recipes for TRT codes.
- Bug #1448 xlf2008_r issues weird warnings about incorrect arguments
- Bug #1505 cdi_ipcress_tIpcress_Interpreter_twomats_ipcress is failing
for Win32-Release builds
- Bug #1513 numdiff syntax error on Win32
- Bug #1516 trinitite: Random123 issues after recent DST

* New Features

- Github #579 Begin using CMake @include_guard@ and
@cmake_host_system_information@
- Github #580 Introduce build system variable @SITENAME_FAMILY@ while
improving perfbench regressions. Create a nightly regression
that uses intel/19.0.1 and openmpi/3.1.2.
- Github #581 Update compiler flags used by IBM XL.
- Github #582 Update regression system for Darwin's volta-x86 nodes.
- Github #600 Add graphic dump reset time, to refine overwrite behavior
- Github #607 Begin supporting mpich.
- Github #612 Remove use of deprecated FindPythonInterp
- Github #619 Rename nGray_Analytic_MultigroupOpacity to
Compound_Analytic_MultigroupOpacity
- Github #624 Provide a newer Docker container for CI testing
- Feature #1351 Regressions: activate newtools regression
- Feature #1410 update GPU_device to use modern cuda, print compute capability
- Feature #1420 Provide Electron-Ion coupling models through CDI
- Feature #1451 Specialize add_component_library macro to set separable
compilation for CUDA files
- Task #1062 Prepare Darwin as sierra-proxy machine
- Task #1083 Darwin: demo power9+volta nodes
- Task #1149 setupMPI.cmake: use 'cmake_host_system_information'
- Task #1168 Demonstrate device singleton for GPUs on Darwin
- Task #1229 Port codes to ARM processors
- Task #1233 Attempt TPL build on power9 with xlc
- Task #1272 Work with FCI to obtain CC# for Draco-7 == Draco-6_25_0
- Task #1379 Add Draco and Branson spackages to spack
- Task #1411 Create nightly regression on Darwin
- Task #1419 LLNL: Provide needed TPLs at ucontrib
- Task #1503 Draco_Mesh constructor using face indexing
- Task #1534 Provide a slurm_info class

* Known Defects

- Bug #1514 cuda+mpi issues on darwin power9 and arm
- Bug #1459 Demo cce/9 on capulin
- Bug #1446 DBS: If exe/lib has cu files --> force static link
- Bug #1444 Attempt to use clang on ATS-2 machines
- Bug #1443 CDash integration with GitHub
- Bug #1266 cdi_analytic: Code coverage improvements
- Bug #1265 Quadrature: Needs more unit tests
- Bug #1227 VS2017: tstSuperlu-dist not running?
- Bug #1148 perfbench time variation on snow
- Bug #59 cdi_eospac design flaw

2019-02-22 Kelly (KT) Thompson <[email protected]>

* "Release draco-7_1_0":https://rtt.lanl.gov/redmine/versions/65.
Expand Down
2 changes: 1 addition & 1 deletion config/CMakeAddFortranSubdirectory.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ with the gfortran option." )
else()
# GNU gfortran with Ninja generator or clang CXX compiler.
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_cafs_fortran_target_arch "Target: x86_64*")
set(_cafs_fortran_target_arch "Target: x86_64*|ppc64")
else()
set(_cafs_fortran_target_arch "Target:.*86*")
endif()
Expand Down
5 changes: 4 additions & 1 deletion config/dracoVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,12 @@ macro( set_ccs2_software_version PROJNAME )
# Query git branch name?
# git rev-parse --abbrev-ref HEAD

string(TOUPPER ${PROJNAME} PROJNAME_UPPER)
set( ${PROJNAME}_BUILD_DATE
"${${PROJNAME}_DATE_STAMP_YEAR}/${${PROJNAME}_DATE_STAMP_MONTH}/${${PROJNAME}_DATE_STAMP_DAY}" )
if( "${${PROJNAME}_VERSION_PATCH}notset" STREQUAL "notset" ) # "[1-9]?[1-9]$")
if( DEFINED ${PROJNAME_UPPER}_VERSION_PATCH ) # "[1-9]?[1-9]$")
set( ${PROJNAME}_VERSION_PATCH ${${PROJNAME_UPPER}_VERSION_PATCH} )
else()
set( ${PROJNAME}_VERSION_PATCH
"${${PROJNAME}_DATE_STAMP_YEAR}${${PROJNAME}_DATE_STAMP_MONTH}${${PROJNAME}_DATE_STAMP_DAY}"
)
Expand Down
2 changes: 1 addition & 1 deletion config/setupMPI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ function( setMPIflavorVer )

# extract the version...
if( ${line} MATCHES "Version" OR ${line} MATCHES "OpenRTE" OR
${line} MATCHES "Open MPI" )
${line} MATCHES "Open MPI" OR ${line} MATCHES "Spectrum MPI")
set(DBS_MPI_VER "${line}")
if( "${DBS_MPI_VER}" MATCHES "[0-9]+[.][0-9]+[.][0-9]+" )
string( REGEX REPLACE ".*([0-9]+)[.]([0-9]+)[.]([0-9]+).*" "\\1"
Expand Down
2 changes: 1 addition & 1 deletion regression/alist.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ for entry in "${entries[@]}"; do
hkpark) current_author="HyeongKae Park" ;;
jdd) current_author="Jeff D. Densmore" ;;
jhchang | Jae* ) current_author="Jae H. Chang" ;;
keadyk | Kendra* ) current_author="Kendra P. Keady" ;;
keadyk | Kendra* ) current_author="Kendra P. Long" ;;
kellyt | kgt | 107638 | Kelly*) current_author="Kelly G. Thompson" ;;
kgbudge) current_author="Kent G. Budge" ;;
kwang) current_author="Katherine J. Wang" ;;
Expand Down
51 changes: 51 additions & 0 deletions regression/scripts/ats2-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash
#------------------------------------------------------------------------------#
# ATS-2 Environment setups
#------------------------------------------------------------------------------#

case $ddir in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't know that function definitions could be embedded in case statements - that's pretty neat.


#------------------------------------------------------------------------------#
draco-7_2_0)
function gcc731env()
{
export VENDOR_DIR=/usr/gapps/jayenne/vendors
run "module purge"
module use /usr/gapps/jayenne/vendors-ec/spack.20190616/share/spack/lmod/linux-rhel7-ppc64le/Core
run "module load cuda python/3.7.2 gcc/7.3.1 spectrum-mpi/2019.04.19"
run "module load cmake/3.14.4 git gsl numdiff random123 metis netlib-lapack"
run "module load parmetis superlu-dist trilinos csk/0.4.2"
run "module load eospac/6.4.0"
# ndi
run "module list"
unset MPI_ROOT
CXX=`which g++`
CC=`which gcc`
FC=`which gfortran`
}
;;

#------------------------------------------------------------------------------#
draco-7_1_0)
function gcc731env()
{
export VENDOR_DIR=/usr/projects/draco/vendors
run "module purge"
run "module use /usr/gapps/user_contrib/spack.20190314/share/spack/lmod/linux-rhel7-ppc64le/Core"
run "module load cuda python gcc/7.3.1 spectrum-mpi cmake/3.12.1 git"
run "module load gsl numdiff random123 metis parmetis superlu-dist"
run "module load trilinos netlib-lapack numdiff"
run "module list"
unset MPI_ROOT
CXX=`which g++`
CC=`which gcc`
FC=`which gfortran`
}
;;

#------------------------------------------------------------------------------#
esac

##---------------------------------------------------------------------------##
## End
##---------------------------------------------------------------------------##
17 changes: 12 additions & 5 deletions regression/scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ function establish_permissions
if [[ `groups | grep -c dacodes` = 1 ]]; then
install_group="dacodes"
install_permissions="g+rwX,o-rwX"
elif [[ `groups | grep -c draco` = 1 ]]; then
elif [[ `groups | grep -c draco` = 1 ]]; then
install_group="draco"
install_permissions="g-rwX,o-rwX"
fi
Expand Down Expand Up @@ -239,7 +239,14 @@ function flavor
;;

ppc64le)
mpiflavor=`echo $OPAL_PREFIX | sed -e 's%.*/%%'`
if [[ -n $OPAL_PREFIX ]]; then
mpiflavor=`echo $OPAL_PREFIX | sed -e 's%.*/%%'`
elif [[ -n $LMOD_MPI_NAME ]]; then
mpiver=`echo $LMOD_MPI_VERSION | sed -e 's%-.*%%'`
mpiflavor=$LMOD_MPI_NAME-$mpiver
else
mpiflavor=unknown
fi
case $CC in
*gcc*)
LCOMPILER=gnu
Expand All @@ -248,7 +255,7 @@ function flavor
;;
*xlc*)
LCOMPILER=ibm
LCOMPILERVER=`$CC -qversion | head -n 1 | sed -e 's/.*V\([0-9][0-9][.][0-9][.][0-9]\) .*/\1/'`
LCOMPILERVER=`$CC --version | head -n 1 | sed -e 's/.*V\([0-9][0-9][.][0-9][.][0-9]\) .*/\1/'`
compilerflavor=$LCOMPILER-$LCOMPILERVER
;;
*) compiler_flavor=unknown-unknown ;;
Expand Down Expand Up @@ -368,10 +375,10 @@ function npes_build

function npes_test
{
# assume no parallel testing capability
# assume no parallel testing capability.
local np=1

# allow specializations per machien (if needed)
# allow specialization per machine (if needed)
local target="`uname -n | sed -e s/[.].*//`"
case ${target} in

Expand Down
Loading