Commit Graph

362 Commits

Author SHA1 Message Date
Peter Doak 61a5c500da find the library NVTX library in a portable way 2018-07-05 19:05:54 -04:00
Ye Luo b58a3d1ae1
Merge branch 'develop' into addnvtx 2018-07-05 12:44:44 -05:00
Jeff Larkin 3d53e4336b Finished renaming USE_NVTX to USE_NVTX_API 2018-07-05 10:26:29 -04:00
Jeff Larkin 6c3467bc96 Changed USE_NVTX to USE_NVTX_API and removed add_definition 2018-07-05 10:25:20 -04:00
Jeff Larkin c241e79c61 Fixing feedback from #912 2018-07-05 08:52:25 -04:00
Jeff Larkin 4e4f6439af Added USE_NVTX build macro to add necessary library for building against NVIDIA nvToolsExt library 2018-07-03 13:29:04 -04:00
Peter Doak 437b5c363a XRay handling move to clang compilers. This removes the cache var
when using another compiler which is good. You'll get an used warning
if you use them with another compiler.
2018-06-20 08:58:46 -04:00
Peter Doak d528fbdd29 preventing non clang builds from attempting to activate llvm-xray profiling 2018-06-20 08:58:46 -04:00
Peter Doak 6e7af7e79e preserving CUDA_PROPAGATE_HOST_FLAGS behavior when not using clang 2018-06-20 08:58:46 -04:00
Peter Doak 9ae0d9222e adding profiling example 2018-06-20 08:58:46 -04:00
Peter Doak 3ea9660ae3 Found more cpu to cuda call to trace. Made Macro
Not entirely happy with gcc style attributes.
2018-06-20 08:58:45 -04:00
Peter Doak d933aedc2f goal of this llvm4_cuda build is instrumentation
when building with nvcc and while running nvprof
2018-06-20 08:58:45 -04:00
Peter Doak 0f41a5e300 With llvm-4.0.1 build with spack this avoided libc++
libstdc++ is all that works for nvcc (I do think later libc++'s can
work but not 4.0.1's)
This cmake line worked on oxygen
rm -rf *; CXXFLAGS='-stdlib=libstdc++' LDFLAGS='-stdlib=libstdc++' cmake -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DCMAKE_CXX_COMPILER=mpic++ -DCMAKE_C_COMPILER=mpicc -DENABLE_MKL=1 -DMKL_ROOT="/opt/intel2018/mkl" -GNinja -DQMC_MPI=1 -DQMC_CUDA=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCUDA_NVCC_FLAGS="-arch=sm_60;-Drestrict=__restrict__;-DNO_CUDA_MAIN;-O3" -DHDF5_ROOT=/data/epd/spack/opt/spack/linux-rhel7-x86_64/gcc-4.8.5/hdf5-1.10.2-qqmot24bg6uetn3xhpxjlwafvxr4p5pp/ ..
2018-06-20 08:58:45 -04:00
Peter Doak 65aa6b5337 Insuring we check for and use mkl fftw3.h
The diffs are big but primarily I'm moving around the code so the
intel and non-intel paths are less divergent.
Main fix is to check for ffth3.h in mkl/include/fftw, if it is not
there we do not add that include path.
2018-06-07 16:05:12 -04:00
Jaron Krogel 2045395c92 nexus: remove redundant example ctests and fix failing nexus settings ctest 2018-06-06 11:53:10 -04:00
Peter Doak 2e49ee88c8 removing editorial comment 2018-05-24 14:07:38 -04:00
Peter Doak 5c30665b8b ninja requires this policy to operator 2018-05-24 14:07:38 -04:00
Mark Dewing 3d63a38a1e
Merge branch 'develop' into nxtest 2018-04-27 14:22:00 -05:00
Jaron Krogel e60c6df54d integrate ntest with ctest 2018-04-27 13:11:18 -04:00
Paul Kent 44bc755c62 Remove all old Sandbox files. Move miniapp files to Sandbox. Update source includes and cmake consistently 2018-04-06 17:42:51 -04:00
Paul Kent 34117450dc Remove GUI mentions 2018-04-03 16:14:56 -04:00
Graham Lopez e4b521bc1f
Merge branch 'develop' into fix-BGQ 2018-03-26 11:49:51 -04:00
Mark Dewing bcde41b561
Merge branch 'develop' into move-cxx11-checking 2018-03-26 09:21:55 -05:00
Ye Luo f7dd9753aa Move C++11 verification more ahead for robustness. 2018-03-25 22:10:05 -05:00
Ye Luo 3edd418838 Rename ENABLE_OUTSIDE_MKL to ENABLE_MKL. 2018-03-25 21:53:23 -05:00
Ye Luo de6120cf9a Fix the case CMAKE_BUILD_TYPE=None. 2018-03-25 16:14:54 -05:00
Peter Doak 8566b52d88 didn't like ; in flag output 2018-03-22 10:23:28 -04:00
Peter Doak a2fdc6f0bd Better ouput of project level flags. Targets can change these. 2018-03-22 10:11:33 -04:00
Peter Doak 4ed1339207 cleanup and clarity per Ye's review 2018-03-21 18:49:57 -04:00
Peter Doak 3031f9d7f3 Well this should protect Rhea, why do policy warnings break build? 2018-03-21 14:03:29 -04:00
Peter Doak 31301f81e6 Message not test was backwards 2018-03-21 13:19:38 -04:00
Peter Doak 0bc0f94cc4 protecting cray build 2018-03-20 15:19:35 -04:00
Peter Doak be4108bffd CMP0056 allows further simplification 2018-03-20 14:39:12 -04:00
Peter Doak af39813246 with CMP0056 set ordering of C++11 doesn't need to be changed?
also annoying trailing whitespace eliminated from CMakeLists.txt
2018-03-20 14:25:12 -04:00
Peter Doak 6016e798b5 Working for llvm 5 on high sierra with
cmake -E env BOOST_ROOT="/Users/epd/codes/boost_1_66_0" cmake
-DTEST_MAX_PROCS=4 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpic++
-DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/opt/llvm/lib
-Wl,-rpath,/usr/local/opt/llvm/lib --stdlib=libc++"
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/opt/llvm/lib
-Wl,-rpath,/usr/local/opt/llvm/lib --stdlib=libc++"
-DCMAKE_INSTALL_PREFIX=/Users/epd/local/qmcpack
-DMKL_ROOT="/opt/intel/compilers_and_libraries_2018.1.126/mac/mkl"
-DQMC_MPI=1 -DQMC_OMP=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-DBUILD_PPCONVERT=1 -DENABLE_OUTSIDE_MKL=1 ..
2018-03-16 13:28:15 -04:00
Peter Doak cad3da0bdb beginning of llvm 5 support with no env paths required 2018-03-16 12:48:25 -04:00
Paul Kent 8fd89e8291 Increase version number, update release nodes 2018-01-29 13:10:17 -05:00
Mark Dewing 66b4dd153f Skip git-rev files for non-git builds.
For builds that do not come from a git repository, the git-rev.h file
is empty.  Change the code so git-rev.h and git-rev-tmp.h are not
referenced, and are not even created.

Hopefully this can address a Spack issue where sometimes either file
is not found.
2018-01-19 12:06:52 -06:00
Mark Dewing 9c71c39534 Add VTune API support
The more general USE_VTUNE_API will check that the ittnotify.h include file and
the libittnotify library can be found.

Add the VTune include directory to CMAKE_CXX_FLAGS (-I<vtune include dir>)
Add the VTune library directory to CMAKE_LIBRARY_PATH (no -L)

The more specific USE_VTUNE_TASKS will add task API calls to the timers.
This also requires a knob or option to be enabled at collection time as
the task API information is not collected by default.
2018-01-16 13:54:45 -06:00
Paul Kent ec735c007e Update changelog and version info for 3.3.0 2017-12-18 10:25:20 -05:00
Paul Kent 60c711471b Move settings template to src 2017-11-24 13:40:25 -05:00
Ye Luo db7ba1f319 Merge remote-tracking branch 'github/develop' into remove-ParticleBase 2017-10-26 21:55:43 -05:00
Ye Luo 847cc233ad Update Cray build setting.
export CRAYPE_LINK_TYPE=dynamic
is a more robust way to set dynamic linking on Cray.
2017-10-25 18:28:35 -05:00
Mark Dewing a818a99eb6 Check for iszero function.
The iszero function was added to glibc 2.25.
Addresses issue #429.
2017-10-24 12:45:05 -05:00
Ye Luo 033a257fa2 Minor fix. 2017-10-04 09:47:44 -05:00
Mark Dewing 0e742caf25 Add tests for Nexus examples.
Nexus scripts are run with 'generate_only' set to True.
This will at least test the Nexus API and catch breaking changes.
2017-09-28 13:31:43 -05:00
Paul Kent b9ef1c608d Increase version number, update release notes 2017-09-21 13:43:44 -04:00
Ye Luo ef56ab8e61 Using consistent compiler provider checking. 2017-09-11 09:02:18 -05:00
Ye Luo 9fe1ec5243 Remove using environment variables in CMakeLists.
QMCPACK specific ones are removed.
CC, CXX and library specific ones are managed by CMake.
2017-09-09 19:47:56 -05:00
Paul Kent 140d2e79ea Require C++11 to build QMCPACK 2017-09-01 14:03:04 -04:00
Paul Kent 0728f2944f Only require C interface to HDF5; prefer parallel version for MPI builds 2017-08-28 16:11:24 -04:00
Paul R. C. Kent 38050ba2aa Merge pull request #325 from ye-luo/remove_SSE
Deprecate SSE and improve cross-compiling
2017-08-18 11:44:04 -04:00
Mark Dewing ad11debd9b Merge pull request #320 from ye-luo/fix-restart-final
Fix restart IO
2017-08-17 10:11:49 -05:00
Ye Luo 61a78386d6 A bit cleaning in einspline. 2017-08-17 00:22:58 -05:00
Ye Luo 0142b4aaf9 A big cleaning in CMake. 2017-08-17 00:10:04 -05:00
Ye Luo 03d757a403 Retire all the SSE intrinsic einspline routines. 2017-08-16 23:33:41 -05:00
Paul R. C. Kent dcb5696293 Merge pull request #289 from ye-luo/rebuild-master
Incorporate SoA changes
2017-08-04 09:10:43 -04:00
Ye Luo b4ab1c8a08 A few more words in CMake printout. 2017-08-02 19:00:19 -05:00
Paul Kent f7f96ce18e Increase version number, update release notes 2017-08-01 13:51:59 -04:00
Ye Luo 9f3a847ba4 Clean up macros for PHDF5.
HDF5_IS_PARALLEL is only used at CMake.
ENABLE_PHDF5 is used to switch between parallel and serial I/O.
Parallel independent I/O is no more available for the low performance.
2017-08-01 12:01:17 -05:00
Ye Luo 597416dacb redefine hdf io.
if(request_pio)
  if(LIBHDF5 is parallel)
    // mode PIO
    IS_PARALLEL=true
    NOIO=false
  else
    // mode MASTER
    IS_PARALLEL=false
    NOIO=false on rank==0 only
  endif
else
  // mode ALL
  IS_PARALLEL=false
  NOIO=false
endif

IS_MASTER=true on rank==0 only
2017-08-01 11:31:44 -05:00
Ye Luo 9f6b1bc59c Merge branch 'develop' into rebuild-master 2017-07-11 22:43:26 -05:00
Ye Luo 38112115bd Change ENABLE_AA_SOA flag to ENABLE_SOA. 2017-07-11 20:10:51 -05:00
Mark Dewing 53c9ac64db Add message to the branch if MPI is not found. 2017-07-06 16:16:28 -05:00
Mark Dewing 71a47054c3 Fix build if MPI is not found
Fixes issue #287 (Bug: Cmake configure does not complete without MPI due to test dependencies)

When MPI is not present, FindMPI sets the MPI_LIBRARY to the "not found" state,
causing a failure when using that library name.
The fix is to set MPI_LIBRARY to an empty string if MPI is not present.
2017-07-06 13:08:39 -05:00
Ye Luo fd74fe77b8 Avoid adding regular tests when building miniapps. 2017-06-21 16:12:43 -05:00
Ye Luo 40935a8b73 Merge Release 3.1 into rebuild-master
Conflicts:
	tests/system/CMakeLists.txt
2017-06-21 15:26:32 -05:00
Paul Kent 654cc64d10 Increase version number, update release notes 2017-06-21 09:36:27 -04:00
Ye Luo 093bbf1d7f Merge remote-tracking branch 'github/develop' into rebuild-master 2017-06-05 14:32:29 -05:00
Paul R. C. Kent 63bb56bb3c Merge pull request #249 from ye-luo/restart-test
Add a restart test
2017-06-05 12:38:02 -04:00
Ye Luo 98c104e910 Integrate restart test. 2017-06-04 00:00:46 -05:00
Andreas Tillack 24775d1038 Updated build recipe for OLCF SummitDev to use new CUDA_ARCH variable and elimated additional compiler version output. 2017-06-01 16:09:02 -04:00
Ye Luo 509f5de062 Correct the cached variable description. 2017-06-01 12:47:35 -05:00
Ye Luo 5c68932740 Add CUDA_ARCH flag to switch in cmake.
sm_20 was removed.
2017-06-01 12:42:44 -05:00
Andreas Tillack 9a0fdc8403 Updated cmake compiler detection and settings to work with newer IBM XL compiler on ppc64le architecture as used on OLCF SummitDev. Additionally, updated the build recipe for OLCF SummitDev reflecting the current software stack and this change. 2017-05-31 16:01:54 -04:00
Ye Luo c83e728288 Merge remote-tracking branch 'github/develop' into rebuild-master
Conflicts:
	src/QMCDrivers/DMC/DMCOMP.cpp
	src/QMCDrivers/VMC/VMCSingleOMP.cpp
2017-05-26 23:37:09 -05:00
Paul Young 4b0d033edd added test not failing 2017-05-23 16:58:12 -05:00
Ye Luo 6e5d459e02 Merge remote-tracking branch 'github/develop' into rebuild-master 2017-05-11 10:16:29 -05:00
Paul Kent 160e05c117 Correct handling of QMC_MPI for ctest 2017-05-10 21:37:11 -04:00
Ye Luo 2ccb4d7431 Merge branch 'opt.soa' into rebuild-master 2017-05-05 17:23:25 -05:00
Ye Luo d7abc4a17e Merge remote-tracking branch 'github/develop' into rebuild-master 2017-05-05 17:22:48 -05:00
Mark Dewing 6cf57dd016 Support manual coverage runs
Move the coverage flags from the ctest script to the compiler scripts.
Both GCC and Clang support the GCC-style output with the --coverage flag.

Use the ENABLE_GCOV flag to add the compiler coverage flag.

Add a script (run_coverage.sh) to create the gcov files (and HTML reports
if gcovr is present) after a build is done with coverage enabled.
2017-05-05 16:35:41 -05:00
Ye Luo 013dd269e0 Clearer cmake error message. 2017-05-04 17:21:13 -05:00
Ye Luo 8edbd4ce4e Trap CUDA and static linking conflict. 2017-05-04 14:41:57 -04:00
Ye Luo 42610c0868 Allow to select dynamic vs static on Cray. 2017-05-04 14:05:56 -04:00
Ye Luo 81a3351a06 Set C++11 requirement for accessing SoA. 2017-05-01 21:20:22 -05:00
Ye Luo cb175fc838 Merge remote-tracking branch 'github/develop' into rebuild-master
Conflicts:
	src/Numerics/Blasf.h
2017-05-01 16:16:08 -05:00
mmorale3 ef807f3ce0 added template specializations to src/Messages/CommOperatorMPI.h 2017-04-18 12:18:26 -07:00
Ye Luo 3b3febf5be Merge branch 'rebuild-master' into LAPW
Conflicts:
	src/QMCWaveFunctions/TrialWaveFunction.cpp
2017-03-23 22:15:09 -05:00
Ye Luo edf7e1508b Merge branch 'github-develop' into rebuild-master 2017-03-23 22:08:34 -05:00
Paul R. C. Kent 579bd61eff Merge pull request #153 from markdewing/afqmc_sparse_fallback
AFQMC - add sparse matrix multiply
2017-03-17 17:48:14 -05:00
Mark Dewing 06c0c362bc AFQMC - warning instead of error if MKL not found
Print a performance warning about using the simple sparse matrix routines.
2017-03-17 08:54:11 -05:00
Paul R. C. Kent 5bb8752e19 Merge pull request #149 from markdewing/afqmc_clang_fixes
AFQMC clang fixes
2017-03-16 14:53:00 -05:00
Mark Dewing 155e49c6bc Add warning if MPI compiler wrapper not used
Do a more precise check to see if the MPI compiler wrapper is being used with
an MPI-enabled build.  If not, print a warning message.
2017-03-15 11:33:12 -05:00
ChangMo Yang 1f63858c42 Put into effect MPI_CXX_INCLUDE_PATH and MPI_CXX_LIBRARIES from CMake 2017-03-15 13:50:29 +09:00
Mark Dewing 18e767b6f5 AFQMC - fixes for Mac build
Comment out the use of sys/sysinfo.h - it's used to print the
free memory before a sparse eigenvalue computation.  And this
eigenvalue computation appears to be unused elsewhere in the code.

The 'rt' library does not need to be linked on Mac.
2017-03-14 11:38:06 -05:00
Mark Dewing 944bf070a2 AFQMC w/clang - fix build and some warnings.
Fixes:
 - For some versions of the std C++ library (clang using -stdlib=libc++,
    which is default on Mac OS, bgclang++11 on BG/Q) the implementation of
    std::inplace_merge needs a default constructor for the iterator.
 - Use myconj instead of std::conj - need to return a real number if the base
    data type is real.
 - Link with librt for all cases (needed to link a SHM routine).

Also clean up some clang warnings.
2017-03-14 10:20:24 -05:00
Ye Luo ef1992d45d Merge branch 'rebuild-master' into LAPW 2017-03-03 19:56:43 -06:00
Ye Luo a89d00351d Merge branch 'github-develop' into rebuild-master 2017-03-03 19:52:53 -06:00
Ye Luo 01c3e6ad11 Remove GSL. 2017-02-24 22:15:48 -06:00