Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ option(AV_BUILD_ALICEVISION "Enable building of AliceVision" ON)
option(AV_EIGEN_MEMORY_ALIGNMENT "Enable Eigen memory alignment" ON)
option(ALICEVISION_BUILD_TESTS "Build AliceVision tests" OFF)
option(AV_USE_CUDA "Enable CUDA" ON)
option(AV_USE_OPENMP "Enable OpenMP" $<$<CXX_COMPILER_ID:"AppleClang">,OFF,ON>) # disable by default for AppleClang
option(AV_USE_OPENMP "Enable OpenMP" ON) # disabled below for AppleClang
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
set(AV_USE_OPENMP OFF CACHE BOOL "Enable OpenMP" FORCE)
endif()
Comment thread
pcastelovigo marked this conversation as resolved.

option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(ALICEVISION_INSTALL_MESHROOM_PLUGIN "Install AliceVision's plugin for Meshroom" ON)

Expand Down
4 changes: 3 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -692,7 +692,9 @@ if (ALICEVISION_HAVE_CUDA)

set(CUDA_NVCC_FLAGS_DEBUG "${CUDA_NVCC_FLAGS_DEBUG};-G;-g")
# set(CUDA_NVCC_FLAGS_RELEASE "${CUDA_NVCC_FLAGS_RELEASE};-O3")
if (CUDA_VERSION_MAJOR VERSION_GREATER_EQUAL 12)
if (CUDA_VERSION_MAJOR VERSION_GREATER_EQUAL 13)
set(ALICEVISION_CUDA_CC_LIST_BASIC 50 52 60 61 62 70 72 75 80 86 87 89 90 100 120)
elseif (CUDA_VERSION_MAJOR VERSION_GREATER_EQUAL 12)
Comment thread
pcastelovigo marked this conversation as resolved.
set(ALICEVISION_CUDA_CC_LIST_BASIC 50 52 60 61 62 70 72 75 80 86 87 89 90)
elseif (CUDA_VERSION VERSION_GREATER_EQUAL 11.8)
set(ALICEVISION_CUDA_CC_LIST_BASIC 35 50 52 60 61 62 70 72 75 80 86 87 89 90)
Expand Down
2 changes: 2 additions & 0 deletions src/aliceVision/gpu/gpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@ std::string gpuInformationCUDA()
<< "\t- id: " << i << std::endl
<< "\t- name: " << deviceProperties.name << std::endl
<< "\t- compute capability: " << deviceProperties.major << "." << deviceProperties.minor << std::endl
#if CUDART_VERSION < 13000 //clockRate removed in CUDA 13
<< "\t- clock frequency (kHz): " << deviceProperties.clockRate << std::endl
#endif
<< "\t- total device memory: " << deviceProperties.totalGlobalMem / (1024 * 1024) << " MB " << std::endl
<< "\t- device memory available: " << avail / (1024 * 1024) << " MB " << std::endl
<< "\t- per-block shared memory: " << deviceProperties.sharedMemPerBlock << std::endl
Expand Down
42 changes: 28 additions & 14 deletions src/cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,21 @@ message(STATUS "AV_BUILD_DEPENDENCIES_PARALLEL: ${AV_BUILD_DEPENDENCIES_PARALLEL

set(BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/external")

set(CMAKE_CORE_BUILD_FLAGS
-DCMAKE_BUILD_TYPE=${DEPS_CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_DO_STRIP:BOOL=${CMAKE_INSTALL_DO_STRIP}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
set(AV_CUDA_ARCHITECTURES "" CACHE STRING "CUDA architectures for all sub-dependencies (CMake CUDA_ARCHITECTURES syntax). E.g. '120-real' for Blackwell, '86-real;89-real' for Ampere/Ada, 'native' to auto-detect.")
set(AV_ALICEVISION_CUDA_CC_LIST "" CACHE STRING "CUDA compute capability list for AliceVision itself (integers, e.g. '120')")

set(CMAKE_CORE_BUILD_FLAGS
-DCMAKE_BUILD_TYPE=${DEPS_CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_DO_STRIP:BOOL=${CMAKE_INSTALL_DO_STRIP}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_STANDARD=20
)

if(AV_CUDA_ARCHITECTURES)
list(APPEND CMAKE_CORE_BUILD_FLAGS -DCMAKE_CUDA_ARCHITECTURES=${AV_CUDA_ARCHITECTURES})
Comment thread
pcastelovigo marked this conversation as resolved.
Outdated
endif()

#### START EXTERNAL ####
if(AV_BUILD_ZLIB)
Expand Down Expand Up @@ -239,15 +245,22 @@ endif()

if(AV_BUILD_ASSIMP)
set(ASSIMP_TARGET assimp)

set(ASSIMP_BUILD_OPTIONS
-DASSIMP_BUILD_ASSIMP_TOOLS:BOOL=OFF
-DASSIMP_BUILD_TESTS:BOOL=OFF
set(ASSIMP_BUILD_OPTIONS
-DASSIMP_BUILD_ASSIMP_TOOLS:BOOL=OFF
-DASSIMP_BUILD_TESTS:BOOL=OFF
-DASSIMP_BUILD_DRACO:BOOL=ON
)

set(ASSIMP_AV_VERSION 5.2.5)

# GCC 13 requires explicit <cstdint> include in draco (bundled with assimp 5.2.5)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "13")
set(ASSIMP_PATCH_COMMAND
PATCH_COMMAND sed -i "s|#include <vector>|#include <vector>\\n#include <cstdint>|" <SOURCE_DIR>/contrib/draco/src/draco/io/file_utils.h
)
Comment thread
pcastelovigo marked this conversation as resolved.
else()
set(ASSIMP_PATCH_COMMAND "")
endif()

ExternalProject_Add(${ASSIMP_TARGET}
URL https://github.com/assimp/assimp/archive/refs/tags/v5.2.5.tar.gz
URL_HASH MD5=0b5a5a2714f1126b9931cdb95f512c91
Expand All @@ -258,6 +271,7 @@ if(AV_BUILD_ASSIMP)
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/assimp
BINARY_DIR ${BUILD_DIR}/assimp_build
INSTALL_DIR ${CMAKE_INSTALL_PREFIX}
${ASSIMP_PATCH_COMMAND}
CONFIGURE_COMMAND ${CMAKE_COMMAND} ${CMAKE_CORE_BUILD_FLAGS}
${ASSIMP_BUILD_OPTIONS}
${ZLIB_CMAKE_FLAGS}
Expand All @@ -268,8 +282,7 @@ if(AV_BUILD_ASSIMP)
BUILD_COMMAND $(MAKE) -j${AV_BUILD_DEPENDENCIES_PARALLEL}
DEPENDS ${ZLIB_TARGET}
)

set(ASSIMP_CMAKE_FLAGS
set(ASSIMP_CMAKE_FLAGS
-DAssimp_DIR:PATH=${CMAKE_INSTALL_PREFIX}/lib/cmake/assimp-${ASSIMP_AV_VERSION}
)
endif()
Expand Down Expand Up @@ -1464,8 +1477,9 @@ if(AV_BUILD_ALICEVISION)
BINARY_DIR ${BUILD_DIR}/aliceVision_build
INSTALL_DIR ${CMAKE_INSTALL_PREFIX}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_SHARED_LIBS:BOOL=ON -DTARGET_ARCHITECTURE=core
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_SHARED_LIBS:BOOL=ON -DTARGET_ARCHITECTURE=generic
-DALICEVISION_ROOT=${ALICEVISION_ROOT}
-DALICEVISION_CUDA_CC_LIST=${AV_ALICEVISION_CUDA_CC_LIST}
-DALICEVISION_USE_ALEMBIC=ON
Comment thread
pcastelovigo marked this conversation as resolved.
-DMINIGLOG=ON
-DALICEVISION_USE_CCTAG=${AV_BUILD_CCTAG}
Expand Down
Loading