First omp

This commit is contained in:
2026-06-23 15:07:55 +02:00
parent b842990cd4
commit 77d2dad320
18 changed files with 789 additions and 88 deletions
+94 -7
View File
@@ -8,31 +8,118 @@ project(panic LANGUAGES CXX)
# Uses C++11 # Uses C++11
set(CMAKE_CXX_STANDARD 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) set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Makes sure it uses basic options # 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) 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 # This finds all the .cpp files in the src/ folder
# and it's subfolders. # and its subfolders.
# This is saved in the variale PANIC_SOURCES # This is saved in the variable PANIC_SOURCES
file(GLOB_RECURSE PANIC_SOURCES CONFIGURE_DEPENDS file(GLOB_RECURSE PANIC_SOURCES CONFIGURE_DEPENDS
src/*.cpp src/*.cpp
) )
#---------------------------------------------------------------------------------------------------------------------------
# EXECUTABLE
#---------------------------------------------------------------------------------------------------------------------------
# Creates an executable called "panic" # 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 add_executable(panic
main.cpp main.cpp
${PANIC_SOURCES} ${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 target_include_directories(panic PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include ${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()
+36
View File
@@ -189,6 +189,24 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
// Studio IDE projects all commands are done without /nologo. // Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE 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 //Value Computed by CMake
panic_BINARY_DIR:STATIC=/home/atlas/Documents/Git/panic/build 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 CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 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 //linker supports push/pop state
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+285 -39
View File
@@ -39,8 +39,8 @@ events:
checks: checks:
- "Detecting CXX compiler ABI info" - "Detecting CXX compiler ABI info"
directories: directories:
source: "/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-KCsEdB" binary: "/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T"
cmakeVariables: cmakeVariables:
CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS: ""
CMAKE_CXX_FLAGS_DEBUG: "-g" CMAKE_CXX_FLAGS_DEBUG: "-g"
@@ -49,13 +49,13 @@ events:
variable: "CMAKE_CXX_ABI_COMPILED" variable: "CMAKE_CXX_ABI_COMPILED"
cached: true cached: true
stdout: | 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 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_c98c7.dir/build.make CMakeFiles/cmTC_c98c7.dir/build /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-KCsEdB' gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T'
Building CXX object CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o Building CXX object CMakeFiles/cmTC_3d47d.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 /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. Using built-in specs.
COLLECT_GCC=/usr/bin/c++ COLLECT_GCC=/usr/bin/c++
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
@@ -65,8 +65,8 @@ events:
Thread model: posix Thread model: posix
Supported LTO compression algorithms: zlib zstd Supported LTO compression algorithms: zlib zstd
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) 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/' 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_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 /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) 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 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 /usr/include
End of search list. End of search list.
Compiler executable checksum: 7896445e4990772fdae9dc0659a99266 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/' 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_c98c7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccGqwDi1.s 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 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/ 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/ 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.' 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_c98c7 Linking CXX executable cmTC_3d47d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c98c7.dir/link.txt --verbose=1 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d47d.dir/link.txt --verbose=1
/usr/bin/c++ -v CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_c98c7 /usr/bin/c++ -v CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3d47d
Using built-in specs. Using built-in specs.
COLLECT_GCC=/usr/bin/c++ COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper 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) 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/ 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/ 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.' 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/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 /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_c98c7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c98c7.' 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-KCsEdB' gmake[1]: Leaving directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T'
exitCode: 0 exitCode: 0
- -
@@ -151,13 +151,13 @@ events:
message: | message: |
Parsed CXX implicit link information: Parsed CXX implicit link information:
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] 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: []
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c98c7/fast] 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_c98c7.dir/build.make CMakeFiles/cmTC_c98c7.dir/build] 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-KCsEdB'] ignore line: [gmake[1]: Entering directory '/home/atlas/Documents/Git/panic/build/CMakeFiles/CMakeScratch/TryCompile-Ouh05T']
ignore line: [Building CXX object CMakeFiles/cmTC_c98c7.dir/CMakeCXXCompilerABI.cpp.o] ignore line: [Building CXX object CMakeFiles/cmTC_3d47d.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: [/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: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
@@ -167,8 +167,8 @@ events:
ignore line: [Thread model: posix] ignore line: [Thread model: posix]
ignore line: [Supported LTO compression algorithms: zlib zstd] 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: [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: [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_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: [ /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: [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: [ 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: []
@@ -189,15 +189,15 @@ events:
ignore line: [ /usr/include] ignore line: [ /usr/include]
ignore line: [End of search list.] ignore line: [End of search list.]
ignore line: [Compiler executable checksum: 7896445e4990772fdae9dc0659a99266] 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: [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_c98c7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccGqwDi1.s] 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: [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: [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: [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: [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_c98c7] ignore line: [Linking CXX executable cmTC_3d47d]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c98c7.dir/link.txt --verbose=1] 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_c98c7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_c98c7 ] ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_3d47d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3d47d ]
ignore line: [Using built-in specs.] ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] 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: [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: [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: [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.'] 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/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] 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 [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore
arg [-plugin] ==> ignore arg [-plugin] ==> ignore
arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> 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=/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_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -234,7 +234,7 @@ events:
arg [-znow] ==> ignore arg [-znow] ==> ignore
arg [-zrelro] ==> ignore arg [-zrelro] ==> ignore
arg [-o] ==> 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/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/../../../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] 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/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] 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 [-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 [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m] arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s] 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
...
Binary file not shown.
+4
View File
@@ -17,11 +17,15 @@ set(CMAKE_MAKEFILE_DEPENDS
"/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake"
"/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.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/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.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/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.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/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-CXX.cmake"
"/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake"
+1 -1
View File
@@ -2,7 +2,7 @@
# Generated by CMake Version 3.28 # Generated by CMake Version 3.28
cmake_policy(SET CMP0009 NEW) 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") file(GLOB_RECURSE NEW_GLOB LIST_DIRECTORIES false "/home/atlas/Documents/Git/panic/src/*.cpp")
set(OLD_GLOB set(OLD_GLOB
"/home/atlas/Documents/Git/panic/src/io/print_tensor.cpp" "/home/atlas/Documents/Git/panic/src/io/print_tensor.cpp"
+2
View File
@@ -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/io/print_tensor.cpp.o
panic: CMakeFiles/panic.dir/src/tensor/vector.cpp.o panic: CMakeFiles/panic.dir/src/tensor/vector.cpp.o
panic: CMakeFiles/panic.dir/build.make 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 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_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) $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/panic.dir/link.txt --verbose=$(VERBOSE)
+2 -2
View File
@@ -2,9 +2,9 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.28 # Generated by "Unix Makefiles" Generator, CMake Version 3.28
# compile CXX with /usr/bin/c++ # 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_INCLUDES = -I/home/atlas/Documents/Git/panic/include
CXX_FLAGS = -std=c++11 CXX_FLAGS = -std=c++11 -fopenmp
+1 -1
View File
@@ -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
View File
Binary file not shown.
Executable
+22
View File
@@ -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 "$@"
+188
View File
@@ -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;
//}
+7 -3
View File
@@ -54,10 +54,12 @@ namespace io{
// Function Name : panic::io::print // Function Name : panic::io::print
// //
// Description: // Description:
// Prints a panic::tensor::vector out in the terminal // Prints a vector out in the terminal
// //
// Inputs: // 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 // vector to print
// //
// Outputs: // Outputs:
@@ -69,7 +71,9 @@ namespace io{
// Notes: // Notes:
// The vector is printed out in square brackets. // 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);
+26 -7
View File
@@ -66,9 +66,10 @@
namespace panic{ namespace panic{
namespace tensor{ namespace tensor{
template <typename T>
struct vector{ struct vector{
panic::uint_t length; panic::uint_t length;
panic::real_t* data; T* data;
// empty contructor // empty contructor
vector(); vector();
@@ -77,7 +78,7 @@ struct vector{
vector(panic::uint_t size); vector(panic::uint_t size);
// contructor with size allocation and sets it all to a value // 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 // copy-contructor
// vector a(3); // vector a(3);
@@ -101,22 +102,40 @@ struct vector{
bool resize(panic::uint_t new_size); bool resize(panic::uint_t new_size);
// fill data with value // fill data with value
bool fill(panic::real_t value); bool fill(T value);
// lets you read and write v[index] // 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 // 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) // 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 // 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 tensor
} // namespace panic } // namespace panic
+7 -1
View File
@@ -62,9 +62,15 @@ panic::real_t x = 2.4;
int main(void) { 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; a[2] = 1.2;
b[2] = 3;
c[2] = -3;
panic::io::print(a); panic::io::print(a);
panic::io::print(b);
panic::io::print(c);
std::cout << a[100] << std::endl; std::cout << a[100] << std::endl;
std::cout << a.at(100) << std::endl; std::cout << a.at(100) << std::endl;
std::cout << panic::pi << std::endl; std::cout << panic::pi << std::endl;
+44 -4
View File
@@ -1,9 +1,49 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
# Configures CMake #---------------------------------------------------------------------------------------------------------------------------
cmake -S . -B build # RUN CONFIGURATION
# Compiles the program #---------------------------------------------------------------------------------------------------------------------------
# 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 cmake --build build
# Runs the program
#---------------------------------------------------------------------------------------------------------------------------
# RUN
#---------------------------------------------------------------------------------------------------------------------------
./build/panic ./build/panic
+25 -1
View File
@@ -53,7 +53,31 @@
namespace panic { namespace panic {
namespace io { 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 << "["; std::cout << "[";
for (panic::uint_t i = 0; i < v.size()-1; ++i){ for (panic::uint_t i = 0; i < v.size()-1; ++i){
std::cout << v[i] << ", "; std::cout << v[i] << ", ";
+44 -21
View File
@@ -62,7 +62,8 @@ namespace panic{
// Description: // Description:
// Creates an empty vector. // Creates an empty vector.
//-------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------
vector::vector() { template <typename T>
vector<T>::vector() {
length = 0; length = 0;
data = 0; data = 0;
} }
@@ -73,7 +74,8 @@ vector::vector() {
// Description: // Description:
// Creates a vector with size allocation and initializes all values to zero. // 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; length = size;
if (length == 0){ if (length == 0){
@@ -81,10 +83,10 @@ vector::vector(panic::uint_t size){
return; return;
} }
data = new panic::real_t[length]; data = new T[length];
for (panic::uint_t i = 0; i < size; ++i){ 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: // Description:
// Creates a vector with size allocation and initializes all values. // 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; length = size;
if (size == 0){ if (size == 0){
@@ -103,7 +106,7 @@ vector::vector(panic::uint_t size, panic::real_t value){
return; return;
} }
data = new panic::real_t[size]; data = new T[size];
for (panic::uint_t i = 0; i < size; ++i){ for (panic::uint_t i = 0; i < size; ++i){
data[i] = value; data[i] = value;
@@ -118,7 +121,8 @@ vector::vector(panic::uint_t size, panic::real_t value){
// vector a(3); // vector a(3);
// vector b = a; // vector b = a;
//-------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------
vector::vector(const vector& other){ template <typename T>
vector<T>::vector(const vector& other){
length = other.length; length = other.length;
if (length == 0){ if (length == 0){
@@ -126,7 +130,7 @@ vector::vector(const vector& other){
return; return;
} }
data = new panic::real_t[length]; data = new T[length];
for (panic::uint_t i = 0; i < length; ++i){ for (panic::uint_t i = 0; i < length; ++i){
data[i] = other.data[i]; data[i] = other.data[i];
@@ -139,7 +143,8 @@ vector::vector(const vector& other){
// Description: // Description:
// Deletes the data and releases the memory. // Deletes the data and releases the memory.
//-------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------
vector::~vector(){ template <typename T>
vector<T>::~vector(){
delete[] data; delete[] data;
data = 0; data = 0;
@@ -155,15 +160,16 @@ vector::~vector(){
// vector b(3); // vector b(3);
// b = a; // b = a;
//-------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------
vector& vector::operator=(const vector& other){ template <typename T>
vector<T>& vector<T>::operator=(const vector& other){
if (this == &other){ if (this == &other){
return *this; return *this;
} }
panic::real_t* new_data = 0; T* new_data = 0;
if (other.length > 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){ for (panic::uint_t i = 0; i < other.length; ++i){
new_data[i] = other.data[i]; new_data[i] = other.data[i];
@@ -184,7 +190,8 @@ vector& vector::operator=(const vector& other){
// Description: // Description:
// Returns the length/size of the vector // 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; return length;
} }
@@ -194,7 +201,8 @@ panic::uint_t vector::size() const{
// Description: // Description:
// Resizes the vector to new length and keeps old values // 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){ if (new_size == length){
return true; return true;
} }
@@ -206,7 +214,7 @@ bool vector::resize(panic::uint_t new_size){
return true; 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; panic::uint_t copy_size = length;
if (new_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){ 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; delete[] data;
@@ -236,7 +244,8 @@ bool vector::resize(panic::uint_t new_size){
// Description: // Description:
// Fills te vector with a value // 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){ for (panic::uint_t i = 0; i < length; ++i){
data[i] = value; data[i] = value;
} }
@@ -250,7 +259,8 @@ bool vector::fill(panic::real_t value){
// Description: // Description:
// Lets you read and write v[index] // 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]; return data[index];
} }
@@ -260,7 +270,8 @@ panic::real_t& vector::operator[](panic::uint_t index){
// Description: // Description:
// Lets you read v[index] from a const vector // 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]; return data[index];
} }
@@ -270,7 +281,8 @@ const panic::real_t& vector::operator[](panic::uint_t index) const{
// Description: // Description:
// Lets you read and write v.at(index) with index bounse // 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){ if (index >= length){
return data[length-1]; return data[length-1];
@@ -285,7 +297,8 @@ panic::real_t& vector::at(panic::uint_t index){
// Description: // Description:
// Lets you read v[index] from a const vector with index bounse // 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){ if (index >= length){
return data[length-1]; 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 tensor
} // namespace panic } // namespace panic