Skip to content
Open
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
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ cmake_build

src/IVE
_test.sh
src/cudaSirecon/cudasireconConfig.h
src/cudasireconConfig.h
src/cudaSirecon/version.h
src/version.h
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ cmake ${CMAKE_ARGS} \
../src

make -j 2
make install
# make install
12 changes: 6 additions & 6 deletions environment-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: simbuild
channels:
- conda-forge
dependencies:
- cudatoolkit-dev
- make
- cxx-compiler
- fftw
- boost-cpp
- cmake
- libtiff
- cuda-version=12
- cuda-nvcc
- fftw
- libboost-devel
- libcufft-dev
- liblapack
- libtiff
28 changes: 14 additions & 14 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,27 @@
option(BUILD_MRC "Build cudasirecon with MRC support" ON)
option(BUILD_OTF_VIEWER "Build OTF viewer (requires X11)" OFF)

cmake_minimum_required(VERSION 3.14)
cmake_minimum_required (VERSION 3.20)

# This is the one place where version is set
project(cudasirecon VERSION 1.2.0)
configure_file("${PROJECT_SOURCE_DIR}/cudasireconConfig.h.in" "${PROJECT_SOURCE_DIR}/cudasireconConfig.h")
project(cudasirecon VERSION 1.2.0 LANGUAGES CXX CUDA)
# the single source of our version is above in the project() command
# this header makes the version available to the compiler
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
${CMAKE_CURRENT_SOURCE_DIR}/version.h
@ONLY
)

include_directories("${PROJECT_SOURCE_DIR}")

enable_language(CUDA)
enable_testing()


if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
set(CMAKE_CUDA_ARCHITECTURES "52;60;61;70;72;75")
endif()
find_package(CUDA REQUIRED)
find_package(CUDAToolkit REQUIRED)
message(STATUS "FOUND CUDA: " ${CUDAToolkit_BIN_DIR})
include_directories(${CUDAToolkit_INCLUDE_DIRS})
message(STATUS "CUDA version : ${CMAKE_CUDA_COMPILER_VERSION}")
set(CMAKE_CUDA_ARCHITECTURES all-major)
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})

add_definitions(-Dcimg_display=0)

Expand All @@ -64,10 +67,7 @@ if(OPENMP_FOUND)
endif()

find_package(TIFF)
find_package(
Boost
COMPONENTS program_options filesystem system
REQUIRED)
find_package(Boost REQUIRED COMPONENTS program_options filesystem system)
link_directories(${Boost_LIBRARY_DIRS})
include_directories(${Boost_INCLUDE_DIRS})

Expand Down
6 changes: 3 additions & 3 deletions src/cudaSirecon/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ message(STATUS "LAPACK_FOUND: " ${LAPACK_FOUND})

# libcudasirecon shared library
add_library(cudasirecon SHARED cudaSirecon.cpp boostfs.cpp gpuFunctionsImpl.cu interface.cpp)
cuda_add_cufft_to_target(cudasirecon)
set_target_properties(cudasirecon
PROPERTIES
MSVC_RUNTIME_LIBRARY ""
Expand All @@ -24,12 +23,13 @@ target_link_libraries(
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
${IMLIB}
${IVELIB})
${IVELIB}
CUDA::cufft
)


# cudasirecon executable file
add_executable(cudaSireconDriver cudaSireconDriver.cpp)
cuda_add_cufft_to_target(cudaSireconDriver)
target_link_libraries(cudaSireconDriver cudasirecon)
target_include_directories(cudaSireconDriver PUBLIC "${PROJECT_BINARY_DIR}")
set_target_properties(cudaSireconDriver
Expand Down
6 changes: 2 additions & 4 deletions src/cudaSirecon/cudaSirecon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@
#include "cudaSirecon.h"
#include "cudaSireconImpl.h"
#include "SIM_reconstructor.hpp"
#include "cudasireconConfig.h"
#include "version.h"
#include <boost/filesystem.hpp>

#ifdef MRC
#include "mrc.h"
#endif

std::string version_number = std::to_string(cudasirecon_VERSION_MAJOR) + "." +
std::to_string(cudasirecon_VERSION_MINOR) + "." +
std::to_string(cudasirecon_VERSION_PATCH);
std::string version_number = std::string(PROJECT_VERSION);

void SetDefaultParams(ReconParams *pParams)
{
Expand Down
5 changes: 5 additions & 0 deletions src/cudaSirecon/interface.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "cudaSireconImpl.h" // must come first!
#include "SIM_reconstructor.hpp"
#include "version.h"

#ifdef _WIN32
#define DllExport __declspec(dllexport)
Expand Down Expand Up @@ -68,4 +69,8 @@ extern "C"
{
sr->closeFiles();
}
DllExport const char* get_version()
{
return PROJECT_VERSION;
}
}
6 changes: 0 additions & 6 deletions src/cudasireconConfig.h.in

This file was deleted.

9 changes: 9 additions & 0 deletions src/version.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// the configured options and settings for cudasirecon
// This will be populated with variables from the project() setting
// in CMakeLists.txt
#pragma once

#define PROJECT_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
#define PROJECT_VERSION_MINOR @PROJECT_VERSION_MINOR@
#define PROJECT_VERSION_PATCH @PROJECT_VERSION_PATCH@
#define PROJECT_VERSION "@PROJECT_VERSION@"