Skip to content
Snippets Groups Projects

Implement separate Fortran and C++ Drivers.

Merged Joerg Behrens requested to merge fb-impl-fortran-driver into main
6 files
+ 415
77
Compare changes
  • Side-by-side
  • Inline
Files
6
+ 21
2
cmake_minimum_required(VERSION 3.20)
project(demo LANGUAGES CXX VERSION 0.0.1)
project(demo LANGUAGES CXX Fortran VERSION 0.0.1)
include(FetchContent)
@@ -36,9 +36,28 @@ endif()
FetchContent_MakeAvailable(kokkos)
add_executable(demo main.cpp)
add_executable(demo cdriver.cpp main.cpp)
target_link_libraries(demo PUBLIC Kokkos::kokkos)
set_source_files_properties(
fdriver.f90
PROPERTIES Fortran_PREPROCESS ON
)
if (Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_HIP)
set(WITH_OPENACC_FORTRAN 1)
else()
set(WITH_OPENACC_FORTRAN 0)
endif()
add_executable(fdemo fdriver.f90 main.cpp)
target_link_libraries(fdemo PUBLIC Kokkos::kokkos)
if (WITH_OPENACC_FORTRAN)
find_package(OpenACC REQUIRED OpenACC_Fortran)
target_link_libraries(fdemo PUBLIC OpenACC::OpenACC_Fortran )
endif()
set_property(TARGET fdemo PROPERTY LINKER_LANGUAGE Fortran)
if ("${MU_ARCH}" STREQUAL "a100")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -acc -Minfo=accel -gpu=cc80")
add_compile_definitions(DEMO_DEVICE)
Loading