From 77d2dad320f7c71a25183e3f83c7d697050a398b Mon Sep 17 00:00:00 2001 From: Michelle Date: Tue, 23 Jun 2026 15:07:55 +0200 Subject: [PATCH] First omp --- CMakeLists.txt | 103 ++++++- build/CMakeCache.txt | 36 +++ build/CMakeFiles/CMakeConfigureLog.yaml | 324 ++++++++++++++++++--- build/CMakeFiles/FindOpenMP/ompver_CXX.bin | Bin 0 -> 16248 bytes build/CMakeFiles/Makefile.cmake | 4 + build/CMakeFiles/VerifyGlobs.cmake | 2 +- build/CMakeFiles/panic.dir/build.make | 2 + build/CMakeFiles/panic.dir/flags.make | 4 +- build/CMakeFiles/panic.dir/link.txt | 2 +- build/panic | Bin 18144 -> 24568 bytes clean_run.sh | 22 ++ include/config/omp.hpp | 188 ++++++++++++ include/io/print_tensor.hpp | 10 +- include/tensor/vector.hpp | 33 ++- main.cpp | 8 +- run.sh | 48 ++- src/io/print_tensor.cpp | 26 +- src/tensor/vector.cpp | 65 +++-- 18 files changed, 789 insertions(+), 88 deletions(-) create mode 100755 build/CMakeFiles/FindOpenMP/ompver_CXX.bin create mode 100755 clean_run.sh create mode 100644 include/config/omp.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a68a29..e3e2630 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 work. target_include_directories(panic PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include -) \ No newline at end of file +) + +#--------------------------------------------------------------------------------------------------------------------------- +# 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 + # + # 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() \ No newline at end of file diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt index ec9d5bf..6139388 100644 --- a/build/CMakeCache.txt +++ b/build/CMakeCache.txt @@ -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 diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index de1062a..9a48230 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -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 +... diff --git a/build/CMakeFiles/FindOpenMP/ompver_CXX.bin b/build/CMakeFiles/FindOpenMP/ompver_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..ffcd59dd7d01f7e28f2adbd11490b2736da2d67e GIT binary patch literal 16248 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 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; +//} \ No newline at end of file diff --git a/include/io/print_tensor.hpp b/include/io/print_tensor.hpp index 421ef16..91c0f9e 100644 --- a/include/io/print_tensor.hpp +++ b/include/io/print_tensor.hpp @@ -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); diff --git a/include/tensor/vector.hpp b/include/tensor/vector.hpp index 94f5687..973d2bb 100644 --- a/include/tensor/vector.hpp +++ b/include/tensor/vector.hpp @@ -66,9 +66,10 @@ namespace panic{ namespace tensor{ +template 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 real_vector; +typedef vector int_vector; +typedef vector uint_vector; + +//--------------------------------------------------------------------------------------------------------------------------- +// EXPLICIT TEMPLATE DECLARATION +//--------------------------------------------------------------------------------------------------------------------------- + +extern template struct vector; +extern template struct vector; +extern template struct vector; + + } // namespace tensor } // namespace panic diff --git a/main.cpp b/main.cpp index 9ab9e53..c46dd7a 100644 --- a/main.cpp +++ b/main.cpp @@ -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; diff --git a/run.sh b/run.sh index 7099dfa..796ac73 100755 --- a/run.sh +++ b/run.sh @@ -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 \ No newline at end of file diff --git a/src/io/print_tensor.cpp b/src/io/print_tensor.cpp index 48ba6fe..db78bbc 100644 --- a/src/io/print_tensor.cpp +++ b/src/io/print_tensor.cpp @@ -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] << ", "; diff --git a/src/tensor/vector.cpp b/src/tensor/vector.cpp index 2e93cc3..f7fcfa5 100644 --- a/src/tensor/vector.cpp +++ b/src/tensor/vector.cpp @@ -62,7 +62,8 @@ namespace panic{ // Description: // Creates an empty vector. //-------------------------------------------------------------------------------------------------------------------------- -vector::vector() { +template +vector::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 +vector::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(0); + data[i] = static_cast(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 +vector::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 +vector::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 +vector::~vector(){ delete[] data; data = 0; @@ -155,15 +160,16 @@ vector::~vector(){ // vector b(3); // b = a; //-------------------------------------------------------------------------------------------------------------------------- -vector& vector::operator=(const vector& other){ +template +vector& vector::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 +panic::uint_t vector::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 +bool vector::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(0); + new_data[i] = static_cast(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 +bool vector::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 +T& vector::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 +const T& vector::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 +T& vector::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 +const T& vector::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; +template struct vector; +template struct vector; + + } // namespace tensor } // namespace panic \ No newline at end of file