Skip to content

IHEP-LQCD/mg_proto

 
 

Repository files navigation

KOKKOS Builds:
=============
i) Clone develop branch of kokkos as a subdirectory kokkos in the parent directory.
ii) For CPU builds this is all
iii) For MPI based GPU builds get nvcc_wrapper with the mods to allow multiple --std options
 ( github.com:bjoo/nvcc_wrapper, develop branch)
Set appropriate env var for nvcc_wrapper to be your MPICC wrappers' compiler e.g.

    MPICH_CXX=nvcc_wrapper  for MPICH,MVAPICH
or  OMPI_CXX=nvcc_wrapper   for OpenMPI
 

Directory Organization:
=======================

Include files for external interfaces in include/
GTest Files in external/
Sources for Libraries in lib/
Sources fort Tests in test/

CMakeLists.txt organization
===========================

At top level:
 - Define Project ' project() -- command ' 
 - Set Revision and add to MG_config.h"
   (this is generally an example of how to add '#defines' to .h files
    use 'set' to set them in CMakeLists.txt and #define them in the config.h.in)

 - Add commands to install this config file
 
 - set up the include directory tree ( include for headers, external for gtest and the build dir for any generated headers)

 - Recurse as appropriate into include/ lib/ test/  using add_subdirectory()

 - Enable testing() and add tests for 'make test'

CMakeLists.txt in the include directory:
====================================
  - This is just to install header files. I have an install line here (will add more)

CMakeLists.txt in the lib directory
================================

  - This is to build your libraries: Currently 2 lines

  i) to create the library
     add_library(name srcs)

  ii) To install the library in lib/ 

   
 CMakeLists in the test/ directory
==================================

This builds the test executable (and takes care of the icky linkings. 

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.7%
  • CMake 2.1%
  • Other 0.2%