Commit Graph

325 Commits

Author SHA1 Message Date
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
Ye Luo b225da37af Add GSL in CMake. 2017-02-24 19:51:34 -06:00
Ye Luo 43d9283722 Complete the previous commit. 2017-02-16 00:08:32 -06:00
Mark Dewing d86733131d Add limit to NiO benchmark size
Use QMC_NIO_MAX_SIZE to limit the benchmark size.
Due to time or memory limits, all the benchmark sizes may not fit
on a particular machine.
2017-02-14 12:23:54 -06:00
Mark Dewing 59709d6f01 Add NiO benchmark files.
QMC_DATA_NIO_H5 should be set to a directory containing the *.h5 files for
the tests to be active.
2017-02-13 17:18:01 -06:00
Ye Luo 2607652717 Merge branch 'github-develop' into rebuild-master 2017-02-12 21:44:15 -06:00
Mark Dewing 39c6d206ce Soft link pseudopotential files in tests.
Some of the *.BFD.xml files in the test inputs are referenceed using a relative
symbolic link.  Using FILE(COPY ...) will keep the link, which then becomes a
dangling link pointing to nothing.  The previous method of
'cmake -E copy_directory' converted to link to an actual file copy.  The fix is
to treat the psuedopotential files the same as the *.h5 files, and the code
creates a symbolic link to the original file.

Also print a status message with the state of QMC_SYMLINK_TEST_FILES and a short
explanation of the consequences.
2017-02-09 14:25:41 -06:00
Mark Dewing e5c5c837a4 Use symbolic links for test files.
The variable QMC_SYMLINK_TEST_FILES can be used to force a copy instead
of creating a symlink (set it to FALSE).
2017-02-08 14:39:51 -06:00
Ye Luo 609c8a0bbc Merge branch 'github-develop' into rebuild-master 2017-02-04 16:11:36 -06:00
Ye Luo c1f1efbbed Merge branch 'github-develop' into rebuild-master-up-to-date-as-github
Conflicts:
	CMakeLists.txt
	src/CMakeLists.txt
	src/QMCWaveFunctions/OrbitalBase.h
	src/QMCWaveFunctions/TrialWaveFunction.cpp
2017-02-02 00:12:55 -06:00
jeongnim a6caf375bd CMakeLists.txt sets c++11 and BUILD_MINIAPPS=1
Remove c++11 from Intel and GNU toolchains
2017-02-02 00:01:18 -06:00
Ye Luo 76d994a984 Merge commit 'svn 7346' into rebuild-master
Conflicts:
	src/CMakeLists.txt
	src/config/stdlib/math.h
2017-02-02 00:00:51 -06:00
jeongnim 7e5c431f3d Fix the order to resolve link problems. 2017-02-01 23:53:32 -06:00
Paul Kent f57a5fd95e Add CHANGELOG.md, update to version 3.0.0 2017-01-27 18:20:36 -05:00
Paul R. C. Kent 63480e964e Merge pull request #84 from atillack/qmcpack_gpu_complex
GPU Complex Implementation
2017-01-25 16:50:11 -05:00
Ye Luo ae92477389 Fix full double precision GPU complex code.
Fix cuda_inverse complex double inversion.
Remove warning in CMakeList.txt.
2017-01-21 00:32:24 -06:00
Andreas Tillack d1b3c8e0b6 Output warning for non-mixed precision complex GPU builds that results will be wrong. 2017-01-20 09:22:55 -05:00
Ye Luo db252fe86b Remove unnecessary function check in CMake.
Funcitons are round, floor, pow, sqrt.
The flags related to checking results are no longer needed.
Related to issue 76.
2017-01-19 19:50:37 -06:00
Andreas Tillack 69acfc6205 Added Complex GPU code to current development branch. 2017-01-19 18:03:57 -05:00
Mark Dewing 1fba9520cc Move non-git source version info to subdirectory
In the case where source is not a git repository, an empty repository info
file is created at configure time.  The git-rev.h file is placed in the src/
subdirectory.  If the code to create it is in the top-level CMakeLists.txt,
the src/ directory does not yet exist and it fails to create the file.
Move the git-ver.h file creation code to the src/CMakeLists.txt.
2017-01-18 23:02:22 -06:00
Mark Dewing b7afe0b0a1 Record git repository information in the build.
Use a CMake custom command that runs every build to pick up git repository
information.

The code was inspired and informed by this Stack Overflow discussion:
http://stackoverflow.com/questions/1435953/how-can-i-pass-git-sha1-to-compiler-as-definition-using-cmake
2017-01-18 16:04:08 -06:00
Mark Dewing f36e056544 Add ENABLE_TIMERS as a CMake-level option.
Add a warning message if the '-enable-timers' command line option is used,
but the executable was not build with ENABLE_TIMERS on.
Change the define name from ENABLE_TIMER to ENABLE_TIMERS, for consistency
with the command line option.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/timer@7393 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2017-01-05 19:53:00 +00:00
Mark Dewing 785b2e2b7e Merge mainline changes into timer branch.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/timer@7392 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2017-01-05 18:45:48 +00:00
Mark Dewing e79b3e4844 Merge AFQMC
Disable AFQMC build by default (BUILD_AFQMC=0).


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@7379 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-24 06:37:39 +00:00
Mark Dewing 9889f665e4 For complex builds, skip AFQMC tests.
Also print a warning message.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7378 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-22 21:09:21 +00:00
Ye Luo 19b860955e Print a message when C++11 is forced on Cray with Intel.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7377 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-22 20:36:32 +00:00
Mark Dewing 64a13439c9 Add error message if MPI is not enabled with AFQMC
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7375 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-22 18:24:01 +00:00
Mark Dewing c0f31ab481 Rearrange previous check-in so CXX11_FLAG cannot be used from external source.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7374 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-21 21:38:35 +00:00
Mark Dewing a64543eb9f Force C++11 flag on Cray with Intel compiler.
The Cray compiler wrapper generates a warning, which older CMake versions
interpret as a failure, and this unsets C++ 11 support.
CXX11_FLAG can be set to skip the flag detection code, and/or set to
a different value depending on the compiler.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7373 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-21 19:00:43 +00:00
Ye Luo 6f791f5048 Move BUILD_AFQMC and BUILD_FCIQMC closer to other build options.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7357 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-16 23:58:25 +00:00
Mark Dewing b8b840b26b Set HAVE_MKL if MKL library is found by name.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7355 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-16 17:19:14 +00:00
Mark Dewing 62f048569b Link with 'rt' library with AFQMC.
Needed for definition of shm_unlink.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7354 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-16 04:57:17 +00:00
Paul Kent 99bb3070d7 Disable AFQMC if MKL not found
git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7353 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-15 22:13:21 +00:00
Mark Dewing 876ed0afbb Replace WITH_ with BUILD_.
For the variables BUILD_AFQMC and BUILD_FCIQMC


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7351 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-15 20:37:57 +00:00
Mark Dewing 895916f10b Merge recent changes on trunk to AFQMC branch.
The detection of C++ 11 should be integrated with the existing detection code
from the new optimizer.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/branches/afqmc@7350 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-15 20:10:11 +00:00
Paul Kent 6b91ff02d7 Abort if FFTW not found. Updated error messages for other libraries for consistency
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@7346 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-13 18:46:20 +00:00
Ye Luo edbc477018 Minor change to CMake configure.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@7337 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-09 16:16:55 +00:00
Paul Kent 0aa737df4f Disable LMY engine (new adaptive optimizer) with CUDA build. Missing functions.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@7334 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-12-09 15:06:19 +00:00