First omp
This commit is contained in:
+95
-8
@@ -8,31 +8,118 @@ project(panic LANGUAGES CXX)
|
||||
# Uses C++11
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
# This makes it so it uses C++11, and fails if now found.
|
||||
# This makes it so it uses C++11, and fails if not found.
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Makes sure it uses basic options
|
||||
# -std=c++11 instead of -std-gnu++11
|
||||
# -std=c++11 instead of -std=gnu++11
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# OPENMP CONFIGURATION
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# OpenMP is disabled by default.
|
||||
# Enable with:
|
||||
# cmake -S . -B build -DPANIC_ENABLE_OPENMP=ON
|
||||
option(PANIC_ENABLE_OPENMP "Enable OpenMP support" OFF)
|
||||
|
||||
# Number of OpenMP threads.
|
||||
# 0 means OpenMP decides the default.
|
||||
# Example that overrides default is: "-DPANIC_OMP_NUM_THREADS=":
|
||||
# cmake -S . -B build -DPANIC_ENABLE_OPENMP=ON -DPANIC_OMP_NUM_THREADS=4
|
||||
set(PANIC_OMP_NUM_THREADS "0" CACHE STRING "Number of OpenMP threads. 0 means OpenMP default.")
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# SOURCE FILES
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# This finds all the .cpp files in the src/ folder
|
||||
# and it's subfolders.
|
||||
# This is saved in the variale PANIC_SOURCES
|
||||
# and its subfolders.
|
||||
# This is saved in the variable PANIC_SOURCES
|
||||
file(GLOB_RECURSE PANIC_SOURCES CONFIGURE_DEPENDS
|
||||
src/*.cpp
|
||||
)
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# EXECUTABLE
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# Creates an executable called "panic"
|
||||
# It's build from main.cpp and all scr/
|
||||
# It's built from main.cpp and all src/
|
||||
add_executable(panic
|
||||
main.cpp
|
||||
${PANIC_SOURCES}
|
||||
)
|
||||
|
||||
# This finds all the .hpp files in the include/ folder
|
||||
# and it's subfolders.
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# INCLUDE DIRECTORIES
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# Tells the compiler where to look for header files.
|
||||
# This makes includes like <core/types.hpp> work.
|
||||
target_include_directories(panic PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
)
|
||||
)
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# OPENMP BUILD SETTINGS
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# If the user enabled OpenMP with:
|
||||
# -DPANIC_ENABLE_OPENMP=ON
|
||||
if(PANIC_ENABLE_OPENMP)
|
||||
|
||||
# Ask CMake to search for OpenMP support for the compiler.
|
||||
# If found, CMake creates the target:
|
||||
# OpenMP::OpenMP_CXX
|
||||
# This target contains the needed compiler and linker flags.
|
||||
find_package(OpenMP)
|
||||
|
||||
# Check if CMake found OpenMP for C++.
|
||||
if(OpenMP_CXX_FOUND)
|
||||
|
||||
# Link the panic executable with OpenMP.
|
||||
# This adds the correct compiler/linker options, for example -fopenmp.
|
||||
target_link_libraries(panic PRIVATE OpenMP::OpenMP_CXX)
|
||||
|
||||
# Define preprocessor macros that the C++ code can read.
|
||||
#
|
||||
# This makes the compiler behave as if every .cpp file had:
|
||||
# #define PANIC_USE_OPENMP 1
|
||||
# #define PANIC_OMP_NUM_THREADS <value from CMake>
|
||||
#
|
||||
# Example:
|
||||
# -DPANIC_OMP_NUM_THREADS=4
|
||||
#
|
||||
# becomes:
|
||||
# #define PANIC_OMP_NUM_THREADS 4
|
||||
target_compile_definitions(panic PRIVATE
|
||||
PANIC_USE_OPENMP=1
|
||||
PANIC_OMP_NUM_THREADS=${PANIC_OMP_NUM_THREADS}
|
||||
)
|
||||
|
||||
else()
|
||||
|
||||
# The user asked for OpenMP, but CMake could not find it.
|
||||
# So we warn the user and build PANIC without OpenMP instead.
|
||||
message(WARNING "OpenMP requested, but OpenMP was not found. Building without OpenMP.")
|
||||
|
||||
# Tell the C++ code that OpenMP is disabled.
|
||||
target_compile_definitions(panic PRIVATE
|
||||
PANIC_USE_OPENMP=0
|
||||
PANIC_OMP_NUM_THREADS=0
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
||||
# The user did not enable OpenMP.
|
||||
# So PANIC builds as normal serial/portable code.
|
||||
target_compile_definitions(panic PRIVATE
|
||||
PANIC_USE_OPENMP=0
|
||||
PANIC_OMP_NUM_THREADS=0
|
||||
)
|
||||
|
||||
endif()
|
||||
@@ -189,6 +189,24 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//CXX compiler flags for OpenMP parallelization
|
||||
OpenMP_CXX_FLAGS:STRING=-fopenmp
|
||||
|
||||
//CXX compiler libraries for OpenMP parallelization
|
||||
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
|
||||
|
||||
//Path to the gomp library for OpenMP
|
||||
OpenMP_gomp_LIBRARY:FILEPATH=/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so
|
||||
|
||||
//Path to the pthread library for OpenMP
|
||||
OpenMP_pthread_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpthread.a
|
||||
|
||||
//Enable OpenMP support
|
||||
PANIC_ENABLE_OPENMP:BOOL=ON
|
||||
|
||||
//Number of OpenMP threads. 0 means OpenMP default.
|
||||
PANIC_OMP_NUM_THREADS:STRING=4
|
||||
|
||||
//Value Computed by CMake
|
||||
panic_BINARY_DIR:STATIC=/home/atlas/Documents/Git/panic/build
|
||||
|
||||
@@ -332,6 +350,24 @@ CMAKE_TAPI-ADVANCED:INTERNAL=1
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Details about finding OpenMP
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP:INTERNAL=[TRUE][c ][v4.5()]
|
||||
//Details about finding OpenMP_CXX
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so][/usr/lib/x86_64-linux-gnu/libpthread.a][v4.5()]
|
||||
//Result of TRY_COMPILE
|
||||
OpenMP_COMPILE_RESULT_CXX_fopenmp:INTERNAL=TRUE
|
||||
//ADVANCED property for variable: OpenMP_CXX_FLAGS
|
||||
OpenMP_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: OpenMP_CXX_LIB_NAMES
|
||||
OpenMP_CXX_LIB_NAMES-ADVANCED:INTERNAL=1
|
||||
//CXX compiler's OpenMP specification date
|
||||
OpenMP_CXX_SPEC_DATE:INTERNAL=201511
|
||||
//Result of TRY_COMPILE
|
||||
OpenMP_SPECTEST_CXX_:INTERNAL=TRUE
|
||||
//ADVANCED property for variable: OpenMP_gomp_LIBRARY
|
||||
OpenMP_gomp_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: OpenMP_pthread_LIBRARY
|
||||
OpenMP_pthread_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//linker supports push/pop state
|
||||
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ events:
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB"
|
||||
binary: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB"
|
||||
source: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T"
|
||||
binary: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
@@ -49,13 +49,13 @@ events:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB'
|
||||
Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c98c7/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_c98c7.dir/build.make CMakeFiles/cmTC_c98c7.dir/build
|
||||
gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB'
|
||||
Building CXX object CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/c++ -v -o CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3d47d/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_3d47d.dir/build.make CMakeFiles/cmTC_3d47d.dir/build
|
||||
gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T'
|
||||
Building CXX object CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/c++ -v -o CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
@@ -65,8 +65,8 @@ events:
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_c98c7.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccGqwDi1.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_3d47d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5YDuu5.s
|
||||
GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04.1) version 13.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
|
||||
|
||||
@@ -87,15 +87,15 @@ events:
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: 7896445e4990772fdae9dc0659a99266
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccGqwDi1.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o /tmp/cc5YDuu5.s
|
||||
GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.'
|
||||
Linking CXX executable cmTC_c98c7
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c98c7.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -v CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_c98c7
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.'
|
||||
Linking CXX executable cmTC_3d47d
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d47d.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -v CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3d47d
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
|
||||
@@ -108,10 +108,10 @@ events:
|
||||
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c98c7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c98c7.'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGqSXec.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c98c7 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c98c7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c98c7.'
|
||||
gmake[1]: Leaving directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB'
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3d47d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3d47d.'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cctioRXy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_3d47d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3d47d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3d47d.'
|
||||
gmake[1]: Leaving directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
@@ -151,13 +151,13 @@ events:
|
||||
message: |
|
||||
Parsed CXX implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
ignore line: [Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB']
|
||||
ignore line: [Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c98c7/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_c98c7.dir/build.make CMakeFiles/cmTC_c98c7.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-KCsEdB']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3d47d/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_3d47d.dir/build.make CMakeFiles/cmTC_3d47d.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
@@ -167,8 +167,8 @@ events:
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_c98c7.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccGqwDi1.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_3d47d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5YDuu5.s]
|
||||
ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04.1) version 13.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
@@ -189,15 +189,15 @@ events:
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: 7896445e4990772fdae9dc0659a99266]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccGqwDi1.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o /tmp/cc5YDuu5.s]
|
||||
ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.']
|
||||
ignore line: [Linking CXX executable cmTC_c98c7]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c98c7.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_c98c7 ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.']
|
||||
ignore line: [Linking CXX executable cmTC_3d47d]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d47d.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3d47d ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper]
|
||||
@@ -210,13 +210,13 @@ events:
|
||||
ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c98c7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c98c7.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGqSXec.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c98c7 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3d47d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3d47d.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cctioRXy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_3d47d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
|
||||
arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccGqSXec.res] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cctioRXy.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
@@ -234,7 +234,7 @@ events:
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_c98c7] ==> ignore
|
||||
arg [cmTC_3d47d] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o]
|
||||
@@ -246,7 +246,7 @@ events:
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..]
|
||||
arg [CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
@@ -274,3 +274,249 @@ events:
|
||||
|
||||
|
||||
...
|
||||
|
||||
---
|
||||
events:
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:219 (try_compile)"
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:486 (_OPENMP_GET_FLAGS)"
|
||||
- "CMakeLists.txt:77 (find_package)"
|
||||
description: "Detecting CXX OpenMP compiler info"
|
||||
directories:
|
||||
source: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH"
|
||||
binary: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "OpenMP_COMPILE_RESULT_CXX_fopenmp"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8e28f/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_8e28f.dir/build.make CMakeFiles/cmTC_8e28f.dir/build
|
||||
gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH'
|
||||
Building CXX object CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o
|
||||
/usr/bin/c++ -fopenmp -v -std=c++11 -o CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -c /home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH/OpenMPTryFlag.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1)
|
||||
COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT /home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH/OpenMPTryFlag.cpp -quiet -dumpdir CMakeFiles/cmTC_8e28f.dir/ -dumpbase OpenMPTryFlag.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -std=c++11 -version -fopenmp -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccRuHjKb.s
|
||||
GNU C++11 (Ubuntu 13.3.0-6ubuntu2~24.04.1) version 13.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13"
|
||||
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/include/c++/13
|
||||
/usr/include/x86_64-linux-gnu/c++/13
|
||||
/usr/include/c++/13/backward
|
||||
/usr/lib/gcc/x86_64-linux-gnu/13/include
|
||||
/usr/local/include
|
||||
/usr/include/x86_64-linux-gnu
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: 7896445e4990772fdae9dc0659a99266
|
||||
COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o /tmp/ccRuHjKb.s
|
||||
GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.'
|
||||
Linking CXX executable cmTC_8e28f
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8e28f.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -fopenmp -v CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -o cmTC_8e28f -v
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
|
||||
Reading specs from /usr/lib/gcc/x86_64-linux-gnu/13/libgomp.spec
|
||||
COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-o' 'cmTC_8e28f' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'cmTC_8e28f.'
|
||||
/usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccyhi8vH.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8e28f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o /usr/lib/gcc/x86_64-linux-gnu/13/crtoffloadbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -lstdc++ -lm -lgomp -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o /usr/lib/gcc/x86_64-linux-gnu/13/crtoffloadend.o
|
||||
COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-o' 'cmTC_8e28f' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'cmTC_8e28f.'
|
||||
gmake[1]: Leaving directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:262 (message)"
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:486 (_OPENMP_GET_FLAGS)"
|
||||
- "CMakeLists.txt:77 (find_package)"
|
||||
message: |
|
||||
Parsed CXX OpenMP implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
ignore line: [Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8e28f/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_8e28f.dir/build.make CMakeFiles/cmTC_8e28f.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -fopenmp -v -std=c++11 -o CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -c /home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH/OpenMPTryFlag.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT /home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-eJXniH/OpenMPTryFlag.cpp -quiet -dumpdir CMakeFiles/cmTC_8e28f.dir/ -dumpbase OpenMPTryFlag.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -std=c++11 -version -fopenmp -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccRuHjKb.s]
|
||||
ignore line: [GNU C++11 (Ubuntu 13.3.0-6ubuntu2~24.04.1) version 13.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/include/c++/13]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu/c++/13]
|
||||
ignore line: [ /usr/include/c++/13/backward]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: 7896445e4990772fdae9dc0659a99266]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o /tmp/ccRuHjKb.s]
|
||||
ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-std=c++11' '-o' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.']
|
||||
ignore line: [Linking CXX executable cmTC_8e28f]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8e28f.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -fopenmp -v CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -o cmTC_8e28f -v ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [Reading specs from /usr/lib/gcc/x86_64-linux-gnu/13/libgomp.spec]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fopenmp' '-v' '-o' 'cmTC_8e28f' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread' '-dumpdir' 'cmTC_8e28f.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccyhi8vH.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8e28f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o /usr/lib/gcc/x86_64-linux-gnu/13/crtoffloadbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o -lstdc++ -lm -lgomp -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o /usr/lib/gcc/x86_64-linux-gnu/13/crtoffloadend.o]
|
||||
arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccyhi8vH.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lpthread] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_8e28f] ==> ignore
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib]
|
||||
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..]
|
||||
arg [CMakeFiles/cmTC_8e28f.dir/OpenMPTryFlag.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgomp] ==> lib [gomp]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lpthread] ==> lib [pthread]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib]
|
||||
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/lib/../lib] ==> [/lib]
|
||||
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib]
|
||||
implicit libs: [stdc++;m;gomp;gcc_s;gcc;pthread;c;gcc_s;gcc]
|
||||
implicit objs: []
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:420 (try_compile)"
|
||||
- "/usr/share/cmake-3.28/Modules/FindOpenMP.cmake:560 (_OPENMP_GET_SPEC_DATE)"
|
||||
- "CMakeLists.txt:77 (find_package)"
|
||||
description: "Detecting CXX OpenMP version"
|
||||
directories:
|
||||
source: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY"
|
||||
binary: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "OpenMP_SPECTEST_CXX_"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_de36e/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_de36e.dir/build.make CMakeFiles/cmTC_de36e.dir/build
|
||||
gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY'
|
||||
Building CXX object CMakeFiles/cmTC_de36e.dir/OpenMPCheckVersion.cpp.o
|
||||
/usr/bin/c++ -fopenmp -std=c++11 -o CMakeFiles/cmTC_de36e.dir/OpenMPCheckVersion.cpp.o -c /home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY/OpenMPCheckVersion.cpp
|
||||
Linking CXX executable cmTC_de36e
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_de36e.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -fopenmp CMakeFiles/cmTC_de36e.dir/OpenMPCheckVersion.cpp.o -o cmTC_de36e
|
||||
gmake[1]: Leaving directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-RPDdhY'
|
||||
|
||||
exitCode: 0
|
||||
...
|
||||
|
||||
Executable
BIN
Binary file not shown.
@@ -17,11 +17,15 @@ set(CMAKE_MAKEFILE_DEPENDS
|
||||
"/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/FindOpenMP.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Generated by CMake Version 3.28
|
||||
cmake_policy(SET CMP0009 NEW)
|
||||
|
||||
# PANIC_SOURCES at CMakeLists.txt:22 (file)
|
||||
# PANIC_SOURCES at CMakeLists.txt:40 (file)
|
||||
file(GLOB_RECURSE NEW_GLOB LIST_DIRECTORIES false "/home/atlas/Documents/Git/panic/src/*.cpp")
|
||||
set(OLD_GLOB
|
||||
"/home/atlas/Documents/Git/panic/src/io/print_tensor.cpp"
|
||||
|
||||
@@ -124,6 +124,8 @@ panic: CMakeFiles/panic.dir/main.cpp.o
|
||||
panic: CMakeFiles/panic.dir/src/io/print_tensor.cpp.o
|
||||
panic: CMakeFiles/panic.dir/src/tensor/vector.cpp.o
|
||||
panic: CMakeFiles/panic.dir/build.make
|
||||
panic: /usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so
|
||||
panic: /usr/lib/x86_64-linux-gnu/libpthread.a
|
||||
panic: CMakeFiles/panic.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/atlas/Documents/Git/panic/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking CXX executable panic"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/panic.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# compile CXX with /usr/bin/c++
|
||||
CXX_DEFINES =
|
||||
CXX_DEFINES = -DPANIC_OMP_NUM_THREADS=4 -DPANIC_USE_OPENMP=1
|
||||
|
||||
CXX_INCLUDES = -I/home/atlas/Documents/Git/panic/include
|
||||
|
||||
CXX_FLAGS = -std=c++11
|
||||
CXX_FLAGS = -std=c++11 -fopenmp
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
/usr/bin/c++ CMakeFiles/panic.dir/main.cpp.o CMakeFiles/panic.dir/src/io/print_tensor.cpp.o CMakeFiles/panic.dir/src/tensor/vector.cpp.o -o panic
|
||||
/usr/bin/c++ CMakeFiles/panic.dir/main.cpp.o CMakeFiles/panic.dir/src/io/print_tensor.cpp.o CMakeFiles/panic.dir/src/tensor/vector.cpp.o -o panic /usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so /usr/lib/x86_64-linux-gnu/libpthread.a
|
||||
|
||||
BIN
Binary file not shown.
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# CLEAN BUILD FILES
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# Removes the CMake build folder.
|
||||
# This deletes compiled files, cached CMake settings, and the old executable.
|
||||
rm -rf build
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# RECONFIGURE, REBUILD, AND RUN
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# Forward all arguments to run.sh.
|
||||
#
|
||||
# Examples:
|
||||
# ./clean_run.sh
|
||||
# ./clean_run.sh omp
|
||||
# ./clean_run.sh omp 4
|
||||
./run.sh "$@"
|
||||
@@ -0,0 +1,188 @@
|
||||
/**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*
|
||||
* PANIC
|
||||
* Portable Algorithms and Numerics In C++
|
||||
*
|
||||
* Scientific computing from scratch, with feeling.
|
||||
*
|
||||
* Copyright (c) 2026 Michelle Bausager
|
||||
*
|
||||
* This file is part of PANIC.
|
||||
*
|
||||
* PANIC is free software licensed under the GNU General Public License v3.0 or later.
|
||||
* You may redistribute and/or modify it under the terms of the GPL.
|
||||
*
|
||||
* PANIC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the LICENSE file for the full license text.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*
|
||||
* Project Name: PANIC
|
||||
* Module Name: config
|
||||
* File Name: omp.hpp
|
||||
* Revision: 0.1.0
|
||||
* Date: 20-06-2026
|
||||
* Author: Michelle Bausager
|
||||
*
|
||||
* Description:
|
||||
* Defines which types will be used in the rest of the libraries.
|
||||
*
|
||||
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
#pragma once
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// INCLUDE DESCRIPTION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// None.
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// DEFINE DESCRIPTION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// OPENMP CONFIGURATION DEFAULTS
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// If CMake did not define PANIC_USE_OPENMP, define it as 0.
|
||||
// This makes OpenMP disabled by default.
|
||||
//
|
||||
// CMake can override this with:
|
||||
// PANIC_USE_OPENMP=1
|
||||
#ifndef PANIC_USE_OPENMP
|
||||
#define PANIC_USE_OPENMP 0
|
||||
#endif
|
||||
|
||||
// If CMake did not define PANIC_OMP_NUM_THREADS, define it as 0.
|
||||
//
|
||||
// Meaning:
|
||||
// 0 = let OpenMP choose the default number of threads
|
||||
// 1 = use 1 thread
|
||||
// 2 = use 2 threads
|
||||
// 4 = use 4 threads
|
||||
// etc.
|
||||
#ifndef PANIC_OMP_NUM_THREADS
|
||||
#define PANIC_OMP_NUM_THREADS 0
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// OPENMP AVAILABILITY CHECK
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// PANIC_HAS_OPENMP becomes 1 only if:
|
||||
//
|
||||
// 1. PANIC_USE_OPENMP is enabled by CMake
|
||||
// 2. The compiler actually has OpenMP enabled
|
||||
//
|
||||
// _OPENMP is automatically defined by the compiler when OpenMP support is active.
|
||||
// For example, GCC defines _OPENMP when compiling with -fopenmp.
|
||||
#if PANIC_USE_OPENMP && defined(_OPENMP)
|
||||
#define PANIC_HAS_OPENMP 1
|
||||
#else
|
||||
#define PANIC_HAS_OPENMP 0
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// STRINGIFY HELPERS
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// These macros turn macro values into text.
|
||||
//
|
||||
// Example:
|
||||
// PANIC_OMP_NUM_THREADS = 4
|
||||
//
|
||||
// We need to turn that into:
|
||||
//
|
||||
// "omp parallel for num_threads(4)"
|
||||
//
|
||||
// The two-step version is needed so that macros expand before becoming text.
|
||||
#define PANIC_STRINGIFY_DETAIL(x) #x
|
||||
#define PANIC_STRINGIFY(x) PANIC_STRINGIFY_DETAIL(x)
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// OPENMP PARALLEL FOR MACROS
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#if PANIC_HAS_OPENMP
|
||||
|
||||
#if PANIC_OMP_NUM_THREADS > 0
|
||||
|
||||
// Expands to:
|
||||
// #pragma omp parallel for num_threads(PANIC_OMP_NUM_THREADS)
|
||||
#define PANIC_OMP_PARALLEL_FOR \
|
||||
_Pragma(PANIC_STRINGIFY(omp parallel for num_threads(PANIC_OMP_NUM_THREADS)))
|
||||
|
||||
// Expands to:
|
||||
// #pragma omp parallel for if(condition) num_threads(PANIC_OMP_NUM_THREADS)
|
||||
//
|
||||
// The loop only runs in parallel if condition is true.
|
||||
#define PANIC_OMP_PARALLEL_FOR_IF(condition) \
|
||||
_Pragma(PANIC_STRINGIFY(omp parallel for if(condition) num_threads(PANIC_OMP_NUM_THREADS)))
|
||||
|
||||
#else
|
||||
|
||||
// Expands to:
|
||||
// #pragma omp parallel for
|
||||
//
|
||||
// OpenMP chooses the default number of threads.
|
||||
#define PANIC_OMP_PARALLEL_FOR \
|
||||
_Pragma("omp parallel for")
|
||||
|
||||
// Expands to:
|
||||
// #pragma omp parallel for if(condition)
|
||||
//
|
||||
// OpenMP chooses the default number of threads.
|
||||
// The loop only runs in parallel if condition is true.
|
||||
#define PANIC_OMP_PARALLEL_FOR_IF(condition) \
|
||||
_Pragma(PANIC_STRINGIFY(omp parallel for if(condition)))
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
// If OpenMP is disabled or unavailable, these macros expand to nothing.
|
||||
//
|
||||
// So this:
|
||||
//
|
||||
// PANIC_OMP_PARALLEL_FOR
|
||||
// for (...) {
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// becomes just:
|
||||
//
|
||||
// for (...) {
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// That means the same code still works on microcontrollers and non-OpenMP builds.
|
||||
#define PANIC_OMP_PARALLEL_FOR
|
||||
#define PANIC_OMP_PARALLEL_FOR_IF(condition)
|
||||
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// TYPE DESCRIPTION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// None.
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// VARIABLE DESCRIPTION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// None.
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// FUNCTION PROTOTYPE
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// None.
|
||||
|
||||
//PANIC_OMP_PARALLEL_FOR
|
||||
//for (panic::uint_t i = 0; i < length; ++i) {
|
||||
// data[i] = value;
|
||||
//}
|
||||
@@ -54,10 +54,12 @@ namespace io{
|
||||
// Function Name : panic::io::print
|
||||
//
|
||||
// Description:
|
||||
// Prints a panic::tensor::vector out in the terminal
|
||||
// Prints a vector out in the terminal
|
||||
//
|
||||
// Inputs:
|
||||
// v const panic::tensor::vector&
|
||||
// v const panic::tensor::uint_vector&
|
||||
// const panic::tensor::int_vector&
|
||||
// const panic::tensor::real_vector&
|
||||
// vector to print
|
||||
//
|
||||
// Outputs:
|
||||
@@ -69,7 +71,9 @@ namespace io{
|
||||
// Notes:
|
||||
// The vector is printed out in square brackets.
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void print(const panic::tensor::vector& v);
|
||||
void print(const panic::tensor::uint_vector& v);
|
||||
void print(const panic::tensor::int_vector& v);
|
||||
void print(const panic::tensor::real_vector& v);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -66,9 +66,10 @@
|
||||
namespace panic{
|
||||
namespace tensor{
|
||||
|
||||
template <typename T>
|
||||
struct vector{
|
||||
panic::uint_t length;
|
||||
panic::real_t* data;
|
||||
T* data;
|
||||
|
||||
// empty contructor
|
||||
vector();
|
||||
@@ -77,7 +78,7 @@ struct vector{
|
||||
vector(panic::uint_t size);
|
||||
|
||||
// contructor with size allocation and sets it all to a value
|
||||
vector(panic::uint_t size, panic::real_t value);
|
||||
vector(panic::uint_t size, T value);
|
||||
|
||||
// copy-contructor
|
||||
// vector a(3);
|
||||
@@ -101,22 +102,40 @@ struct vector{
|
||||
bool resize(panic::uint_t new_size);
|
||||
|
||||
// fill data with value
|
||||
bool fill(panic::real_t value);
|
||||
bool fill(T value);
|
||||
|
||||
// lets you read and write v[index]
|
||||
panic::real_t& operator[](panic::uint_t index);
|
||||
T& operator[](panic::uint_t index);
|
||||
|
||||
// lets you read v[index] from a const vector
|
||||
const panic::real_t& operator[](panic::uint_t index) const;
|
||||
const T& operator[](panic::uint_t index) const;
|
||||
|
||||
// lets you read and write v.at(index)
|
||||
panic::real_t& at(panic::uint_t index);
|
||||
T& at(panic::uint_t index);
|
||||
|
||||
// lets you read v.at(index) from a const vector
|
||||
const panic::real_t& at(panic::uint_t index) const;
|
||||
const T& at(panic::uint_t index) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// TYPE ALIASES
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
typedef vector<panic::real_t> real_vector;
|
||||
typedef vector<panic::int_t> int_vector;
|
||||
typedef vector<panic::uint_t> uint_vector;
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// EXPLICIT TEMPLATE DECLARATION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
extern template struct vector<panic::real_t>;
|
||||
extern template struct vector<panic::int_t>;
|
||||
extern template struct vector<panic::uint_t>;
|
||||
|
||||
|
||||
} // namespace tensor
|
||||
} // namespace panic
|
||||
|
||||
|
||||
@@ -62,9 +62,15 @@ panic::real_t x = 2.4;
|
||||
|
||||
int main(void) {
|
||||
|
||||
panic::tensor::vector a(3);
|
||||
panic::tensor::real_vector a(3);
|
||||
panic::tensor::uint_vector b(3);
|
||||
panic::tensor::int_vector c(3);
|
||||
a[2] = 1.2;
|
||||
b[2] = 3;
|
||||
c[2] = -3;
|
||||
panic::io::print(a);
|
||||
panic::io::print(b);
|
||||
panic::io::print(c);
|
||||
std::cout << a[100] << std::endl;
|
||||
std::cout << a.at(100) << std::endl;
|
||||
std::cout << panic::pi << std::endl;
|
||||
|
||||
@@ -1,9 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Configures CMake
|
||||
cmake -S . -B build
|
||||
# Compiles the program
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# RUN CONFIGURATION
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# First argument chooses build mode:
|
||||
# ./run.sh -> serial build
|
||||
# ./run.sh omp -> OpenMP build
|
||||
#
|
||||
# Second argument chooses number of OpenMP threads:
|
||||
# ./run.sh omp 4 -> OpenMP build using 4 threads
|
||||
#
|
||||
# If thread count is 0, OpenMP chooses the default number of threads.
|
||||
|
||||
BUILD_MODE=${1:-serial}
|
||||
OMP_THREADS=${2:-0}
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# CMAKE CONFIGURATION
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if [ "$BUILD_MODE" = "omp" ]; then
|
||||
echo "Configuring PANIC with OpenMP enabled..."
|
||||
echo "OpenMP threads: $OMP_THREADS"
|
||||
|
||||
cmake -S . -B build \
|
||||
-DPANIC_ENABLE_OPENMP=ON \
|
||||
-DPANIC_OMP_NUM_THREADS="$OMP_THREADS"
|
||||
else
|
||||
echo "Configuring PANIC without OpenMP..."
|
||||
|
||||
cmake -S . -B build \
|
||||
-DPANIC_ENABLE_OPENMP=OFF \
|
||||
-DPANIC_OMP_NUM_THREADS=0
|
||||
fi
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# BUILD
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
cmake --build build
|
||||
# Runs the program
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
# RUN
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
./build/panic
|
||||
+25
-1
@@ -53,7 +53,31 @@
|
||||
namespace panic {
|
||||
namespace io {
|
||||
|
||||
void print(const panic::tensor::vector& v){
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// Function Name : panic::io::print
|
||||
//
|
||||
// Description:
|
||||
// The vector is printed out in square brackets.
|
||||
// Overloaded for panic::uint, panic::int and panic::real
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void print(const panic::tensor::uint_vector& v){
|
||||
std::cout << "[";
|
||||
for (panic::uint_t i = 0; i < v.size()-1; ++i){
|
||||
std::cout << v[i] << ", ";
|
||||
}
|
||||
std::cout << v[v.size()-1]<< "]" << std::endl;
|
||||
|
||||
}
|
||||
void print(const panic::tensor::int_vector& v){
|
||||
std::cout << "[";
|
||||
for (panic::uint_t i = 0; i < v.size()-1; ++i){
|
||||
std::cout << v[i] << ", ";
|
||||
}
|
||||
std::cout << v[v.size()-1]<< "]" << std::endl;
|
||||
|
||||
}
|
||||
void print(const panic::tensor::real_vector& v){
|
||||
std::cout << "[";
|
||||
for (panic::uint_t i = 0; i < v.size()-1; ++i){
|
||||
std::cout << v[i] << ", ";
|
||||
|
||||
+44
-21
@@ -62,7 +62,8 @@ namespace panic{
|
||||
// Description:
|
||||
// Creates an empty vector.
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector::vector() {
|
||||
template <typename T>
|
||||
vector<T>::vector() {
|
||||
length = 0;
|
||||
data = 0;
|
||||
}
|
||||
@@ -73,7 +74,8 @@ vector::vector() {
|
||||
// Description:
|
||||
// Creates a vector with size allocation and initializes all values to zero.
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector::vector(panic::uint_t size){
|
||||
template <typename T>
|
||||
vector<T>::vector(panic::uint_t size){
|
||||
length = size;
|
||||
|
||||
if (length == 0){
|
||||
@@ -81,10 +83,10 @@ vector::vector(panic::uint_t size){
|
||||
return;
|
||||
}
|
||||
|
||||
data = new panic::real_t[length];
|
||||
data = new T[length];
|
||||
|
||||
for (panic::uint_t i = 0; i < size; ++i){
|
||||
data[i] = static_cast<panic::real_t>(0);
|
||||
data[i] = static_cast<T>(0);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -95,7 +97,8 @@ vector::vector(panic::uint_t size){
|
||||
// Description:
|
||||
// Creates a vector with size allocation and initializes all values.
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector::vector(panic::uint_t size, panic::real_t value){
|
||||
template <typename T>
|
||||
vector<T>::vector(panic::uint_t size, T value){
|
||||
length = size;
|
||||
|
||||
if (size == 0){
|
||||
@@ -103,7 +106,7 @@ vector::vector(panic::uint_t size, panic::real_t value){
|
||||
return;
|
||||
}
|
||||
|
||||
data = new panic::real_t[size];
|
||||
data = new T[size];
|
||||
|
||||
for (panic::uint_t i = 0; i < size; ++i){
|
||||
data[i] = value;
|
||||
@@ -118,7 +121,8 @@ vector::vector(panic::uint_t size, panic::real_t value){
|
||||
// vector a(3);
|
||||
// vector b = a;
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector::vector(const vector& other){
|
||||
template <typename T>
|
||||
vector<T>::vector(const vector& other){
|
||||
length = other.length;
|
||||
|
||||
if (length == 0){
|
||||
@@ -126,7 +130,7 @@ vector::vector(const vector& other){
|
||||
return;
|
||||
}
|
||||
|
||||
data = new panic::real_t[length];
|
||||
data = new T[length];
|
||||
|
||||
for (panic::uint_t i = 0; i < length; ++i){
|
||||
data[i] = other.data[i];
|
||||
@@ -139,7 +143,8 @@ vector::vector(const vector& other){
|
||||
// Description:
|
||||
// Deletes the data and releases the memory.
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector::~vector(){
|
||||
template <typename T>
|
||||
vector<T>::~vector(){
|
||||
delete[] data;
|
||||
|
||||
data = 0;
|
||||
@@ -155,15 +160,16 @@ vector::~vector(){
|
||||
// vector b(3);
|
||||
// b = a;
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
vector& vector::operator=(const vector& other){
|
||||
template <typename T>
|
||||
vector<T>& vector<T>::operator=(const vector& other){
|
||||
if (this == &other){
|
||||
return *this;
|
||||
}
|
||||
|
||||
panic::real_t* new_data = 0;
|
||||
T* new_data = 0;
|
||||
|
||||
if (other.length > 0){
|
||||
new_data = new panic::real_t[other.length];
|
||||
new_data = new T[other.length];
|
||||
|
||||
for (panic::uint_t i = 0; i < other.length; ++i){
|
||||
new_data[i] = other.data[i];
|
||||
@@ -184,7 +190,8 @@ vector& vector::operator=(const vector& other){
|
||||
// Description:
|
||||
// Returns the length/size of the vector
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
panic::uint_t vector::size() const{
|
||||
template <typename T>
|
||||
panic::uint_t vector<T>::size() const{
|
||||
return length;
|
||||
}
|
||||
|
||||
@@ -194,7 +201,8 @@ panic::uint_t vector::size() const{
|
||||
// Description:
|
||||
// Resizes the vector to new length and keeps old values
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
bool vector::resize(panic::uint_t new_size){
|
||||
template <typename T>
|
||||
bool vector<T>::resize(panic::uint_t new_size){
|
||||
if (new_size == length){
|
||||
return true;
|
||||
}
|
||||
@@ -206,7 +214,7 @@ bool vector::resize(panic::uint_t new_size){
|
||||
return true;
|
||||
}
|
||||
|
||||
panic::real_t* new_data = new panic::real_t[new_size];
|
||||
T* new_data = new T[new_size];
|
||||
panic::uint_t copy_size = length;
|
||||
|
||||
if (new_size < length){
|
||||
@@ -218,7 +226,7 @@ bool vector::resize(panic::uint_t new_size){
|
||||
}
|
||||
|
||||
for (panic::uint_t i = copy_size; i < new_size; ++i){
|
||||
new_data[i] = static_cast<panic::real_t>(0);
|
||||
new_data[i] = static_cast<T>(0);
|
||||
}
|
||||
|
||||
delete[] data;
|
||||
@@ -236,7 +244,8 @@ bool vector::resize(panic::uint_t new_size){
|
||||
// Description:
|
||||
// Fills te vector with a value
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
bool vector::fill(panic::real_t value){
|
||||
template <typename T>
|
||||
bool vector<T>::fill(T value){
|
||||
for (panic::uint_t i = 0; i < length; ++i){
|
||||
data[i] = value;
|
||||
}
|
||||
@@ -250,7 +259,8 @@ bool vector::fill(panic::real_t value){
|
||||
// Description:
|
||||
// Lets you read and write v[index]
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
panic::real_t& vector::operator[](panic::uint_t index){
|
||||
template <typename T>
|
||||
T& vector<T>::operator[](panic::uint_t index){
|
||||
return data[index];
|
||||
}
|
||||
|
||||
@@ -260,7 +270,8 @@ panic::real_t& vector::operator[](panic::uint_t index){
|
||||
// Description:
|
||||
// Lets you read v[index] from a const vector
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
const panic::real_t& vector::operator[](panic::uint_t index) const{
|
||||
template <typename T>
|
||||
const T& vector<T>::operator[](panic::uint_t index) const{
|
||||
return data[index];
|
||||
}
|
||||
|
||||
@@ -270,7 +281,8 @@ const panic::real_t& vector::operator[](panic::uint_t index) const{
|
||||
// Description:
|
||||
// Lets you read and write v.at(index) with index bounse
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
panic::real_t& vector::at(panic::uint_t index){
|
||||
template <typename T>
|
||||
T& vector<T>::at(panic::uint_t index){
|
||||
|
||||
if (index >= length){
|
||||
return data[length-1];
|
||||
@@ -285,7 +297,8 @@ panic::real_t& vector::at(panic::uint_t index){
|
||||
// Description:
|
||||
// Lets you read v[index] from a const vector with index bounse
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
const panic::real_t& vector::at(panic::uint_t index) const{
|
||||
template <typename T>
|
||||
const T& vector<T>::at(panic::uint_t index) const{
|
||||
if (index >= length){
|
||||
return data[length-1];
|
||||
}
|
||||
@@ -293,5 +306,15 @@ const panic::real_t& vector::at(panic::uint_t index) const{
|
||||
}
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
// EXPLICIT TEMPLATE INSTANTIATION
|
||||
//---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
template struct vector<panic::real_t>;
|
||||
template struct vector<panic::int_t>;
|
||||
template struct vector<panic::uint_t>;
|
||||
|
||||
|
||||
} // namespace tensor
|
||||
} // namespace panic
|
||||
Reference in New Issue
Block a user