diff --git a/Step 3/cmake-build-debug/.ninja_deps b/Step 3/cmake-build-debug/.ninja_deps index 71273c0..d2f403c 100644 Binary files a/Step 3/cmake-build-debug/.ninja_deps and b/Step 3/cmake-build-debug/.ninja_deps differ diff --git a/Step 3/cmake-build-debug/.ninja_log b/Step 3/cmake-build-debug/.ninja_log index 4d8c1b1..4b60d49 100644 --- a/Step 3/cmake-build-debug/.ninja_log +++ b/Step 3/cmake-build-debug/.ninja_log @@ -1,92 +1,57 @@ # ninja log v5 -2825 4518 1668662940083143902 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o dc4b23b5e01a8208 -3 880 1668662936443037503 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o 7e874136640e6898 -1876 3670 1668662939215118530 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o cf522ea42b0f8fd3 -2 2871 1668662938435095731 CMakeFiles/Step_3.dir/src/engine/world.cpp.o fa088ebdd4dea6cb -2 1876 1668662937439066616 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede -1 3805 1668662939367122973 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 4ca9d05ad8f3d295 -3 1522 1668662937087056328 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 6b49c8b248d04bb6 -2445 2959 1668662938523098302 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 6f5a39b3d5d543ae -1 2363 1668662937927080881 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa -1 1873 1668662937439066616 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 12778f168a75833b -2 2199 1668662937763076087 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o f8031520e846a554 -1873 5877 1668662941439183540 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f152a6b2309aba93 -2042 2246 1668663040150068303 Step_3 9e280153ba9a237b -2363 2613 1668662938179088246 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 35f01a0bb2fddead -1 3613 1668662939175117361 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd -2959 4103 1668662939667131743 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 10752ac78f398bdb -2199 4867 1668662940431154076 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 707f99c685c75a0f -2871 5817 1668662941379181785 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o d81abd5f968f8f53 -1786 4424 1668662939987141097 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 53ce7d6ed877d888 -880 3295 1668662938859108124 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o c67f39c07aae8f1c -2613 2825 1668662938391094445 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o 45a2ee53269bffeb -1522 3864 1668662939411124260 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 67f44a482b45cec6 -1 2445 1668662938007083220 CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o 2818d3869cd677e8 -1 2042 1668663039946062342 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525 -2 1786 1668662937351064044 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o e9e3fe6fe9a4de66 +2460 4278 1669050856144108784 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o 920916506d18de2c +3 873 1669050852736015051 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o c243981994ce0811 +1980 3391 1669050855256084360 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o dc0c8b425019900b +1 2071 1669055771390332839 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 +1 2149 1669053613634177628 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o 41c6f1bdaa5e38f5 +2 3533 1669050817911057707 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 74ebce9e3746476 +2 2398 1669053613882184663 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 738602a72b552e04 +2402 2909 1669050854776071157 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 8002180f0368d0ae +1 1967 1669053613450172408 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 8fd37dd250c0c57b +2 1948 1669050853816044755 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 49528379fc85b78 +2 2460 1669050854324058727 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o cb39ce8c856d1d8c +1948 5556 1669050857420143883 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f512f3e5a828153f +2624 2877 1669055772194355273 Step_3 f7680d786a7d5c95 +2209 2402 1669050854268057187 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 310c2607009eba21 +1 2200 1669055771518336410 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e +2603 3662 1669050855528091841 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 572a0a724d80e2d3 +2102 4555 1669050856420116379 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 8b0c755c9ee468e9 +2474 5294 1669050857160136734 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o fe3a1955d79f977a +1 2129 1669055771450334513 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f +3 2209 1669050854076051904 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 27ebeccd2f38d7f7 +2423 2603 1669050854468062689 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o f69d69f5fadcde41 +3 1980 1669050853844045523 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o cdbe2fcc55d335a9 +2 2748 1669050854612066649 CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o c8d4462e974892bb +1 2623 1669055771942348242 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 9 2217 1669050816595021546 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o 80ee4e1261cd645e 6 2328 1669050816707024623 CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o c81f0f24f2ebce49 -2 3533 1669050817911057707 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 74ebce9e3746476 -3 873 1669050852736015051 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o c243981994ce0811 -2 1948 1669050853816044755 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 49528379fc85b78 -3 1980 1669050853844045523 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o cdbe2fcc55d335a9 -1 2102 1669050853968048936 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 8fd37dd250c0c57b -3 2209 1669050854076051904 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 27ebeccd2f38d7f7 -2209 2402 1669050854268057187 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 310c2607009eba21 -2 2423 1669050854288057735 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o 41c6f1bdaa5e38f5 -2 2460 1669050854324058727 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o cb39ce8c856d1d8c -2 2474 1669050854340059168 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 738602a72b552e04 -2423 2603 1669050854468062689 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o f69d69f5fadcde41 -2 2748 1669050854612066649 CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o c8d4462e974892bb -2402 2909 1669050854776071157 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 8002180f0368d0ae -2 2986 1669050854848073140 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -2 3325 1669050855188082492 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1980 3391 1669050855256084360 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o dc0c8b425019900b -2 3524 1669050855388087992 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2603 3662 1669050855528091841 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 572a0a724d80e2d3 -873 3669 1669050855536092064 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -2460 4278 1669050856144108784 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o 920916506d18de2c -2102 4555 1669050856420116379 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 8b0c755c9ee468e9 -2748 4681 1669050856548119900 CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o 45b82f6048f98464 -2474 5294 1669050857160136734 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o fe3a1955d79f977a -1948 5556 1669050857420143883 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f512f3e5a828153f -5556 5839 1669050857704151695 Step_3 f7680d786a7d5c95 -1 1967 1669051269279518448 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1968 2275 1669051269587526981 Step_3 f7680d786a7d5c95 -2 1984 1669053527179723700 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1 2481 1669053527675737789 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2481 2725 1669053527919744719 Step_3 f7680d786a7d5c95 -1 1872 1669053555796536345 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1872 2161 1669053556084544523 Step_3 f7680d786a7d5c95 -1 1967 1669053613450172408 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 8fd37dd250c0c57b -1 2149 1669053613634177628 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o 41c6f1bdaa5e38f5 -2 2398 1669053613882184663 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 738602a72b552e04 -2 2488 1669053613970187158 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -2 2571 1669053614054189543 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 2867 1669053614350197938 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1 3097 1669053614582204520 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -3097 3355 1669053614838211781 Step_3 f7680d786a7d5c95 -1 2137 1669053859941153113 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 2146 1669053859949153340 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1 2639 1669053860441167256 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2 2134 1669053873165527108 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1 2043 1669053933727239285 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1 2074 1669053933759240190 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 2232 1669053933915244600 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1 2532 1669053934215253079 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2532 2779 1669053934463260090 Step_3 f7680d786a7d5c95 -1 1948 1669053973612366442 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -2 1968 1669053973632367007 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 2382 1669053974044378649 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -1 2334 1669053984328669229 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -2334 2667 1669053984660678609 Step_3 f7680d786a7d5c95 -2 1957 1669055694936199936 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 1983 1669055694960200605 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1 2158 1669055695136205515 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1 2453 1669055695428213659 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2453 2734 1669055695712221581 Step_3 f7680d786a7d5c95 -1 2071 1669055771390332839 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 -1 2129 1669055771450334513 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f -1 2200 1669055771518336410 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e -1 2623 1669055771942348242 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 -2624 2877 1669055772194355273 Step_3 f7680d786a7d5c95 +2 1613 1669143915984555117 CMakeFiles/Step_3.dir/src/engine/mpi.cpp.o a59e814306d7978 +2 2065 1669143916436567852 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 49528379fc85b78 +3 2106 1669143916476568980 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o 80ee4e1261cd645e +3 2428 1669143916796577997 CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o c81f0f24f2ebce49 +1 2477 1669143916848579462 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 8fd37dd250c0c57b +3 2658 1669143917024584425 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o cb39ce8c856d1d8c +3 2904 1669143917272591413 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o 41c6f1bdaa5e38f5 +2 3016 1669143917384594567 CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o c8d4462e974892bb +2065 3173 1669143917540598963 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o c243981994ce0811 +3 3465 1669143917832607191 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 7d8b0912b2dcd105 +3174 3483 1669143917852607754 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 310c2607009eba21 +3484 3726 1669143918096614633 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o f69d69f5fadcde41 +2 3871 1669143918240618691 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o afb5968833aed95e +3465 4015 1669143918384622746 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 8002180f0368d0ae +2 4046 1669143918412623536 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9026a4a98b896ce1 +1614 4368 1669143918736632665 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 738602a72b552e04 +1 4373 1669143918740632779 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 74ebce9e3746476 +2106 4455 1669143918824635146 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 27ebeccd2f38d7f7 +2904 4590 1669143918960638977 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o dc0c8b425019900b +2429 4641 1669143919012640444 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o cdbe2fcc55d335a9 +4015 5091 1669143919460653068 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 572a0a724d80e2d3 +3726 5450 1669143919820663215 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o 920916506d18de2c +2477 5452 1669143919820663215 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8f22bfe01b4af85f +3016 5493 1669143919860664340 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 8b0c755c9ee468e9 +4046 5917 1669143920288676403 CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o 45b82f6048f98464 +2658 6335 1669143920700688013 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f512f3e5a828153f +3871 6494 1669143920864692632 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o fe3a1955d79f977a +6494 6795 1669143921164701085 Step_3 809bda9fd3dad622 +1 1592 1669144042940131734 CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o 45b82f6048f98464 +1592 1847 1669144043192138832 Step_3 809bda9fd3dad622 diff --git a/Step 3/cmake-build-debug/CMakeFiles/CMakeOutput.log b/Step 3/cmake-build-debug/CMakeFiles/CMakeOutput.log index 4807204..8aa96f4 100644 --- a/Step 3/cmake-build-debug/CMakeFiles/CMakeOutput.log +++ b/Step 3/cmake-build-debug/CMakeFiles/CMakeOutput.log @@ -28,7 +28,7 @@ The CXX compiler identification is GNU, found in "/home/brett/Documents/Brock/CS Detecting C compiler ABI info compiled with the following output: Change Dir: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp -Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_349db && [1/2] Building C object CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o +Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_b45b2 && [1/2] Building C object CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -38,8 +38,8 @@ Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-9' --with- Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-9) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/' - /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_349db.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/cc5U7NyU.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_b45b2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/ccTi24ll.s GNU C17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu) compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.25-GMP @@ -59,13 +59,13 @@ GNU C17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu) GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 456cf8f87808ee978ef37b7e90e56bfa -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/' - as -v --64 -o CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o /tmp/cc5U7NyU.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/' + as -v --64 -o CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o /tmp/ccTi24ll.s GNU assembler version 2.39 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.39 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.' -[2/2] Linking C executable cmTC_349db +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.' +[2/2] Linking C executable cmTC_b45b2 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper @@ -78,9 +78,9 @@ Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-9) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_349db' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_349db.' - /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuzFyOk.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_349db /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_349db' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_349db.' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b45b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b45b2.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNSFN4Y.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b45b2 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b45b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b45b2.' @@ -103,7 +103,7 @@ Parsed C implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_349db && [1/2] Building C object CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o] + ignore line: [Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_b45b2 && [1/2] Building C object CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -113,8 +113,8 @@ Parsed C implicit link information from above output: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 12.2.0 (Debian 12.2.0-9) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_349db.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/cc5U7NyU.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_b45b2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/ccTi24ll.s] ignore line: [GNU C17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.25-GMP] ignore line: [] @@ -134,13 +134,13 @@ Parsed C implicit link information from above output: ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 456cf8f87808ee978ef37b7e90e56bfa] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o /tmp/cc5U7NyU.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o /tmp/ccTi24ll.s] ignore line: [GNU assembler version 2.39 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.39] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.'] - ignore line: [[2/2] Linking C executable cmTC_349db] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] Linking C executable cmTC_b45b2] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] @@ -153,13 +153,13 @@ Parsed C implicit link information from above output: ignore line: [gcc version 12.2.0 (Debian 12.2.0-9) ] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_349db' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_349db.'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuzFyOk.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_349db /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b45b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b45b2.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNSFN4Y.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b45b2 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccuzFyOk.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccNSFN4Y.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -175,7 +175,7 @@ Parsed C implicit link information from above output: arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-pie] ==> ignore arg [-o] ==> ignore - arg [cmTC_349db] ==> ignore + arg [cmTC_b45b2] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] @@ -187,7 +187,7 @@ Parsed C implicit link information from above output: 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/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] - arg [CMakeFiles/cmTC_349db.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_b45b2.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -221,7 +221,7 @@ Parsed C implicit link information from above output: Detecting CXX compiler ABI info compiled with the following output: Change Dir: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp -Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_a2b68 && [1/2] Building CXX object CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o +Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_e5829 && [1/2] Building CXX object CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -231,8 +231,8 @@ Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-9' --with- Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-9) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/' - /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a2b68.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/ccS6h7hU.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e5829.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/cco27jYd.s GNU C++17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu) compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.25-GMP @@ -256,13 +256,13 @@ GNU C++17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu) GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 9a37031908c61f144d4ac19d5f618c7f -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/' - as -v --64 -o CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccS6h7hU.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/' + as -v --64 -o CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o /tmp/cco27jYd.s GNU assembler version 2.39 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.39 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.' -[2/2] Linking CXX executable cmTC_a2b68 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.' +[2/2] Linking CXX executable cmTC_e5829 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper @@ -275,9 +275,9 @@ Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-9) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a2b68' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a2b68.' - /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccSsNNer.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 -o cmTC_a2b68 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a2b68' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a2b68.' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5829' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5829.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxXQdv2.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 -o cmTC_e5829 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5829' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5829.' @@ -306,7 +306,7 @@ Parsed CXX implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_a2b68 && [1/2] Building CXX object CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_e5829 && [1/2] Building CXX object CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -316,8 +316,8 @@ Parsed CXX implicit link information from above output: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 12.2.0 (Debian 12.2.0-9) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a2b68.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/ccS6h7hU.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e5829.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -o /tmp/cco27jYd.s] ignore line: [GNU C++17 (Debian 12.2.0-9) version 12.2.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.25-GMP] ignore line: [] @@ -341,13 +341,13 @@ Parsed CXX implicit link information from above output: ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 9a37031908c61f144d4ac19d5f618c7f] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccS6h7hU.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o /tmp/cco27jYd.s] ignore line: [GNU assembler version 2.39 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.39] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [[2/2] Linking CXX executable cmTC_a2b68] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] Linking CXX executable cmTC_e5829] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] @@ -360,13 +360,13 @@ Parsed CXX implicit link information from above output: ignore line: [gcc version 12.2.0 (Debian 12.2.0-9) ] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a2b68' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a2b68.'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccSsNNer.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 -o cmTC_a2b68 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5829' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5829.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxXQdv2.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 -o cmTC_e5829 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../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/12/../../.. CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccSsNNer.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccxXQdv2.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -382,7 +382,7 @@ Parsed CXX implicit link information from above output: arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-pie] ==> ignore arg [-o] ==> ignore - arg [cmTC_a2b68] ==> ignore + arg [cmTC_e5829] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] @@ -394,7 +394,7 @@ Parsed CXX implicit link information from above output: 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/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] - arg [CMakeFiles/cmTC_a2b68.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_e5829.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -424,13 +424,13 @@ Parsed CXX implicit link information from above output: Determining if the CL_VERSION_2_2 exist passed with the following output: Change Dir: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp -Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_0749f && [1/2] Building C object CMakeFiles/cmTC_0749f.dir/CheckSymbolExists.c.o +Run Build Command(s):/opt/netbrains/clion/clion-2022.1.3/bin/ninja/linux/ninja cmTC_8702e && [1/2] Building C object CMakeFiles/cmTC_8702e.dir/CheckSymbolExists.c.o In file included from /usr/include/CL/cl.h:20, from /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c:2: /usr/include/CL/cl_version.h:22:9: note: ‘#pragma message: cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 300 (OpenCL 3.0)’ 22 | #pragma message("cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 300 (OpenCL 3.0)") | ^~~~~~~ -[2/2] Linking C executable cmTC_0749f +[2/2] Linking C executable cmTC_8702e File /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c: diff --git a/Step 3/cmake-build-debug/Step_3 b/Step 3/cmake-build-debug/Step_3 index 16ac684..88821c9 100755 Binary files a/Step 3/cmake-build-debug/Step_3 and b/Step 3/cmake-build-debug/Step_3 differ diff --git a/Step 3/cmake-build-debug/Testing/Temporary/LastTest.log b/Step 3/cmake-build-debug/Testing/Temporary/LastTest.log index cb8bcd9..4a82e67 100644 --- a/Step 3/cmake-build-debug/Testing/Temporary/LastTest.log +++ b/Step 3/cmake-build-debug/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Nov 21 13:36 EST +Start testing: Nov 22 14:07 EST ---------------------------------------------------------- -End testing: Nov 21 13:36 EST +End testing: Nov 22 14:07 EST diff --git a/Step 3/cmake-build-debug/build.ninja b/Step 3/cmake-build-debug/build.ninja index 8492a05..ec89601 100644 --- a/Step 3/cmake-build-debug/build.ninja +++ b/Step 3/cmake-build-debug/build.ninja @@ -89,6 +89,14 @@ build CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o: CXX_COMPILER__Step_ OBJECT_DIR = CMakeFiles/Step_3.dir OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/math +build CMakeFiles/Step_3.dir/src/engine/mpi.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/mpi.cpp || cmake_object_order_depends_target_Step_3 + DEFINES = -DCL_TARGET_OPENCL_VERSION=220 + DEP_FILE = CMakeFiles/Step_3.dir/src/engine/mpi.cpp.o.d + FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20 + INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" + OBJECT_DIR = CMakeFiles/Step_3.dir + OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine + build CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/raytracing.cpp || cmake_object_order_depends_target_Step_3 DEFINES = -DCL_TARGET_OPENCL_VERSION=220 DEP_FILE = CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o.d @@ -265,7 +273,7 @@ build CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o: CXX_COMPILER__Step_3_Debug /hom ############################################# # Link the executable Step_3 -build Step_3: CXX_EXECUTABLE_LINKER__Step_3_Debug CMakeFiles/Step_3.dir/src/engine/globals.cpp.o CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o CMakeFiles/Step_3.dir/src/engine/main.cpp.o CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o CMakeFiles/Step_3.dir/src/engine/world.cpp.o CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o CMakeFiles/Step_3.dir/src/graphics/input.cpp.o CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o | /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so +build Step_3: CXX_EXECUTABLE_LINKER__Step_3_Debug CMakeFiles/Step_3.dir/src/engine/globals.cpp.o CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o CMakeFiles/Step_3.dir/src/engine/main.cpp.o CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o CMakeFiles/Step_3.dir/src/engine/mpi.cpp.o CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o CMakeFiles/Step_3.dir/src/engine/world.cpp.o CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o CMakeFiles/Step_3.dir/src/graphics/input.cpp.o CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o | /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so FLAGS = -fsanitize=address -g -march=native -g LINK_FLAGS = -fsanitize=address LINK_LIBRARIES = -lpthread /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so diff --git a/Step 3/include/engine/math/bvh.h b/Step 3/include/engine/math/bvh.h index ff9b541..20c7868 100644 --- a/Step 3/include/engine/math/bvh.h +++ b/Step 3/include/engine/math/bvh.h @@ -66,7 +66,11 @@ namespace Raytracing { // debug ints. int index, hit = 0; BVHNode(std::vector objs, AABB aabb, BVHNode* left, BVHNode* right): objs(std::move(objs)), aabb(std::move(aabb)), - left(left), right(right) {index = count++;} + left(left), right(right) { +#ifdef COMPILE_GUI + index = count++; +#endif + } ~BVHNode() { delete (left); delete (right); @@ -138,7 +142,11 @@ namespace Raytracing { int index, hit = 0; BVHHitData firstHitRayIntersectTraversal(const Ray& r, PRECISION_TYPE min, PRECISION_TYPE max); TriangleBVHNode(std::vector objs, AABB aabb, TriangleBVHNode* left, TriangleBVHNode* right) - : objs(std::move(objs)), aabb(std::move(aabb)), left(left), right(right) {index = count++;} + : objs(std::move(objs)), aabb(std::move(aabb)), left(left), right(right) { +#ifdef COMPILE_GUI + index = count++; +#endif + } ~TriangleBVHNode() { delete (left); delete (right); @@ -159,8 +167,8 @@ namespace Raytracing { auto aabbVertexData = Shapes::cubeVertexBuilder{}; if (aabbVAO == nullptr) aabbVAO = std::make_shared(aabbVertexData.cubeVerticesRaw, aabbVertexData.cubeUVs); - #endif index = count++; + #endif } void addObjects(const std::vector& objects); diff --git a/Step 3/include/engine/mpi.h b/Step 3/include/engine/mpi.h new file mode 100644 index 0000000..1ae8c9d --- /dev/null +++ b/Step 3/include/engine/mpi.h @@ -0,0 +1,25 @@ +// +// Created by brett on 22/11/22. +// + +#ifndef STEP_3_MPI_H +#define STEP_3_MPI_H + +#include + +#ifdef USE_MPI +#include + +namespace Raytracing { + + extern int numberOfProcesses; + extern int currentProcessID; + + class MPI { + public: + static void init(); + }; +} +#endif + +#endif //STEP_3_MPI_H diff --git a/Step 3/include/engine/world.h b/Step 3/include/engine/world.h index 9b621bc..a1c49cb 100644 --- a/Step 3/include/engine/world.h +++ b/Step 3/include/engine/world.h @@ -112,9 +112,11 @@ namespace Raytracing { struct WorldConfig { bool useBVH = true; bool padding[7]{}; +#ifdef COMPILE_GUI Shader& worldShader; explicit WorldConfig(Shader& shader): worldShader(shader) {} +#endif }; class World { @@ -139,8 +141,10 @@ namespace Raytracing { inline void add(Object* object) { objects.push_back(object); +#ifdef COMPILE_GUI if (object->getBVHTree().bvhTree != nullptr && !object->getBVHTree().isRegular) new DebugBVH{(TriangleBVHTree*) object->getBVHTree().bvhTree, m_config.worldShader}; +#endif } inline void add(const std::string& materialName, Material* mat) { materials.insert({materialName, mat}); } diff --git a/Step 3/include/graphics/gl/gl.h b/Step 3/include/graphics/gl/gl.h index aa73bf6..d662a38 100644 --- a/Step 3/include/graphics/gl/gl.h +++ b/Step 3/include/graphics/gl/gl.h @@ -202,6 +202,7 @@ class Texture { void bind() const; void unbind(); void enableGlTextures(int textureCount); + [[nodiscard]] inline unsigned int getTextureID() const { return textureID; } }; class VAO { diff --git a/Step 3/include/graphics/graphics.h b/Step 3/include/graphics/graphics.h index 8bc79c8..3999d0f 100644 --- a/Step 3/include/graphics/graphics.h +++ b/Step 3/include/graphics/graphics.h @@ -70,6 +70,7 @@ namespace Raytracing { bool isMouseGrabbed(); [[nodiscard]] inline int displayWidth() const {return m_displayWidth;} [[nodiscard]] inline int displayHeight() const {return m_displayHeight;} + [[nodiscard]] inline GLFWwindow* getWindow() const {return window;} void closeWindow(); ~XWindow(); diff --git a/Step 3/include/opencl/cl.h b/Step 3/include/opencl/cl.h index 6ca834d..dc439e0 100644 --- a/Step 3/include/opencl/cl.h +++ b/Step 3/include/opencl/cl.h @@ -8,11 +8,19 @@ // OpenCL includes #include +#include +#include + +#ifdef COMPILE_GUI + +#endif + #include namespace Raytracing { - + + class CLProgram { private: cl_int m_CL_ERR{}; @@ -26,6 +34,7 @@ namespace Raytracing { std::unordered_map buffers; std::unordered_map kernels; + void checkBasicErrors() const; public: explicit CLProgram(const std::string& file); void loadCLShader(cl_context context, cl_device_id deviceID); @@ -33,11 +42,16 @@ namespace Raytracing { void createKernel(const std::string& kernelName); void createBuffer(const std::string& bufferName, cl_mem_flags flags, size_t bytes); void createBuffer(const std::string& bufferName, cl_mem_flags flags, size_t bytes, void* ptr); + void createImage(const std::string& imageName, int width, int height); void setKernelArgument(const std::string& kernel, const std::string& buffer, int argIndex); + void runKernel(const std::string& kernel, size_t globalWorkSize, size_t localWorkSize, const size_t* globalWorkOffset = NULL); + void runKernel(const std::string& kernel, size_t* globalWorkSize, size_t* localWorkSize, cl_uint workDim = 1, const size_t* globalWorkOffset = NULL); + void writeBuffer(const std::string& buffer, size_t bytes, void* ptr, cl_bool blocking = CL_TRUE, size_t offset = 0); void readBuffer(const std::string& buffer, size_t bytes, void* ptr, cl_bool blocking = CL_TRUE, size_t offset = 0); + void readImage(const std::string& imageName, size_t width, size_t height, void* ptr, cl_bool blocking = CL_TRUE, size_t x = 0, size_t y = 0); void flushCommands(); void finishCommands(); @@ -57,13 +71,18 @@ namespace Raytracing { cl_device_id m_deviceID{}; cl_uint m_numOfDevices{}; + cl_uint m_computeUnits; + cl_uint m_deviceClockFreq; + cl_context m_context; - static void printDeviceInfo(cl_device_id device); + void printDeviceInfo(cl_device_id device); public: explicit OpenCL(int platformID = 0, int deviceID = 0); static void init(); static void createCLProgram(CLProgram& program); + static cl_uint activeDeviceComputeUnits(); + static cl_uint activeDeviceFrequency(); ~OpenCL(); }; diff --git a/Step 3/resources/opencl/arrays.cl b/Step 3/resources/opencl/arrays.cl new file mode 100644 index 0000000..6095935 --- /dev/null +++ b/Step 3/resources/opencl/arrays.cl @@ -0,0 +1,11 @@ + + + +__kernel void vector_add(__global const int *A, __global const int *B, __global int *C) { + + // Get the index of the current element to be processed + int i = get_global_id(0); + + // Do the operation + C[i] = A[i] + B[i]; +} diff --git a/Step 3/resources/opencl/image.cl b/Step 3/resources/opencl/image.cl new file mode 100644 index 0000000..dd38cdf --- /dev/null +++ b/Step 3/resources/opencl/image.cl @@ -0,0 +1,11 @@ + +__kernel void drawImage(__write_only image2d_t output) { + + // Get the index of the current element to be processed + int i = get_global_id(0); + int j = get_global_id(1); + + float color = sin(i / 10.0) * sin (j / 10.0); + + write_imagef(output, (int2)(i, j), (float4)(color, color, color, 1.0)); +} diff --git a/Step 3/src/engine/globals.cpp b/Step 3/src/engine/globals.cpp index cf4bdc5..7e07695 100644 --- a/Step 3/src/engine/globals.cpp +++ b/Step 3/src/engine/globals.cpp @@ -19,4 +19,8 @@ namespace Raytracing { int count = 0; int selected = 0; #endif + #ifdef USE_MPI + int numberOfProcesses; + int currentProcessID; + #endif } \ No newline at end of file diff --git a/Step 3/src/engine/main.cpp b/Step 3/src/engine/main.cpp index 517df19..a12f377 100644 --- a/Step 3/src/engine/main.cpp +++ b/Step 3/src/engine/main.cpp @@ -7,11 +7,17 @@ #include "engine/util/debug.h" #include #include + +#ifdef USE_MPI + + #include + +#endif //#include //#include #ifdef COMPILE_GUI - + #include #include #include @@ -19,7 +25,7 @@ #endif #ifdef COMPILE_OPENCL - + #include #endif @@ -30,149 +36,13 @@ * */ -namespace Raytracing{ +namespace Raytracing { extern Signals* RTSignal; } using namespace Raytracing; -typedef unsigned long binsType; - -std::queue sort(std::queue& q, bool dir = false){ - std::queue ret; - auto size = q.size(); - binsType vals[size]; - for (int i = 0; i < size; i++){ - vals[i] = q.front(); - q.pop(); - } - for (int i = 0; i < size; i++){ - for (int j = i; j < size; j++){ - if (dir) { - if (vals[j] < vals[i]) { - auto temp = vals[j]; - vals[j] = vals[i]; - vals[i] = temp; - } - } else{ - if (vals[j] > vals[i]) { - auto temp = vals[j]; - vals[j] = vals[i]; - vals[i] = temp; - } - } - } - } - for (int i = 0; i < size; i++){ - ret.push(vals[i]); - } - return ret; -}; - int main(int argc, char** args) { - /*int numOfObjects = 50000; - binsType binCapacity = 100.0; - - Random rnd1{0, binCapacity}; - - binsType objects[numOfObjects]; - std::vector bins; - - for (int i = 0; i < numOfObjects; i++) - objects[i] = (rnd1.getULong()); - - std::queue less; - std::queue more; - - for (int i = 0; i < numOfObjects; i++){ - if (objects[i] >= binCapacity){ - bins.push_back(objects[i]); - continue; - } - if (objects[i] < binCapacity/2) - less.push(objects[i]); - else - more.push(objects[i]); - } - - //less = sort(less, true); - //more = sort(more, false); - - binsType currentBin = 0; - - - while (true){ - if (!more.empty()) { - auto moreVal = more.front(); - while (!more.empty() && moreVal + currentBin <= binCapacity){ - currentBin += moreVal; - more.pop(); - moreVal = more.front(); - } - ilog << currentBin << "\n"; - auto lessVal = less.front(); - while (!less.empty() && lessVal + currentBin <= binCapacity){ - currentBin += lessVal; - less.pop(); - lessVal = less.front(); - } - dlog << currentBin << " " << lessVal << "\n"; - } else { - if (less.empty()) - break; - auto lessVal = less.front(); - while (!less.empty() && lessVal + currentBin <= binCapacity){ - currentBin += lessVal; - less.pop(); - lessVal = less.front(); - } - wlog << currentBin << " " << lessVal << "\n"; - } - if (currentBin <= 0) - break; - bins.push_back(currentBin); - currentBin = 0; - }*/ - - /*while (!more.empty()) { - currentBin = more.front(); - more.pop(); - double lessVal = less.front(); - while (!less.empty() && currentBin + lessVal < binCapacity){ - currentBin += lessVal; - less.pop(); - lessVal = less.front(); - } - if (currentBin > 0) - bins.push_back(currentBin); - currentBin = 0; - if (less.empty()) { - double moreVal = more.front(); - while (!more.empty()){ - while (!more.empty() && currentBin + moreVal < binCapacity) { - currentBin += moreVal; - more.pop(); - moreVal = more.front(); - } - if (currentBin > 0) - bins.push_back(currentBin); - currentBin = 0; - } - } - }*/ - /*int goodCount = 0; - int greatCount = 0; - for (binsType bin : bins) { - tlog << bin << "\n"; - if (bin >= (binsType)((double)binCapacity * 0.95)) - goodCount++; - if (bin >= (binsType)((double)binCapacity * 0.99)) - greatCount++; - } - tlog << "We made " << bins.size() << " bins!\n"; - tlog << "With " << goodCount << " good bins and " << greatCount << " great bins!\n"; - - return 0;*/ // since this is linux only we can easily set our process priority to be high with a syscall // requires root. TODO: find way to doing this without root even if asking for user privilege escalation //setpriority(PRIO_PROCESS, 0, -20); @@ -196,8 +66,7 @@ int main(int argc, char** args) { // not implemented yet parser.addOption({{"--gpu"}, {"-c"}}, "Enables GPU Compute\n" - "\tRequires the --gui/-g flag enabled,\n" - "\tWill use OpenGL compute shaders to render the image\n"); + "\tWill use OpenCL compute to render the image\n"); parser.addOption("--output", "Output Directory\n" "\tSet the output directory for the rendered image. Defaults to the local directory.\n", "./"); parser.addOption("--format", "Output Format\n" @@ -219,21 +88,28 @@ int main(int argc, char** args) { if (parser.parse(args, argc)) return 0; - if (signal(SIGTERM, [] (int sig) -> void { - ilog<<"Computations complete.\nHalting now...\n"; + if (signal(SIGTERM, [](int sig) -> void { + ilog << "Computations complete.\nHalting now...\n"; RTSignal->haltExecution = true; - })==SIG_ERR) { elog<<"Unable to change signal handler.\n"; return 1; } - if (signal(SIGINT, [] (int sig) -> void { - ilog<<"Computations complete.\nHalting now...\n"; + }) == SIG_ERR) { + elog << "Unable to change signal handler.\n"; + return 1; + } + if (signal(SIGINT, [](int sig) -> void { + ilog << "Computations complete.\nHalting now...\n"; RTSignal->haltExecution = true; - })==SIG_ERR) { elog<<"Unable to change signal handler.\n"; return 1; } + }) == SIG_ERR) { + elog << "Unable to change signal handler.\n"; + return 1; + } tlog << "Parsing complete! Starting raytracer with options:" << std::endl; // not perfect (contains duplicates) but good enough. parser.printAllInInfo(); - #ifdef COMPILE_OPENCL - OpenCL::init(); + #ifdef USE_MPI + Raytracing::MPI::init(); + if (currentProcessID == 0) { #endif #ifdef COMPILE_GUI @@ -243,6 +119,12 @@ int main(int argc, char** args) { Shader worldShader("../resources/shaders/world.vs", "../resources/shaders/world.fs"); #endif + #ifdef COMPILE_OPENCL + OpenCL::init(); + + #endif + + Raytracing::Image image(1440, 720); //Raytracing::Image image(std::stoi(parser.getOptionValue("-w")), std::stoi(parser.getOptionValue("-h"))); @@ -253,10 +135,14 @@ int main(int argc, char** args) { camera.lookAt({0, 0, 0}); - WorldConfig worldConfig {worldShader}; + #ifdef COMPILE_GUI + WorldConfig worldConfig{worldShader}; + #else + WorldConfig worldConfig; + #endif worldConfig.useBVH = true; - Raytracing::World world {worldConfig}; + Raytracing::World world{worldConfig}; // assumes you are running it from a subdirectory, "build" or "cmake-build-release", etc. Raytracing::ModelData spider = Raytracing::OBJLoader::loadModel(parser.getOptionValue("--resources") + "spider.obj"); @@ -288,25 +174,49 @@ int main(int argc, char** args) { if (parser.hasOption("--gui") || parser.hasOption("-g")) { #ifdef COMPILE_GUI - Raytracing::Raycaster raycaster {camera, image, world, parser}; - Texture mainImage(&image); - Shader shader("../resources/shaders/basic.vs", "../resources/shaders/basic.fs"); - Raytracing::DisplayRenderer renderer {*window, mainImage, world, shader, worldShader, raycaster, parser, camera}; - while (!window->shouldWindowClose()) { - window->beginUpdate(); - renderer.draw(); - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - world.drawBVH(worldShader); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - window->endUpdate(); + Raytracing::Raycaster raycaster{camera, image, world, parser}; + Texture mainImage(&image); + + CLProgram program(parser.getOptionValue("--resources") + "opencl/image.cl"); + OpenCL::createCLProgram(program); + program.createKernel("drawImage"); + program.createImage("mainImage", image.getWidth(), image.getHeight()); + program.setKernelArgument("drawImage", "mainImage", 0); + + size_t works[2] {(size_t) image.getWidth(), (size_t) image.getHeight()}; + size_t localWorks[2] {64, 64}; + + unsigned char bytes[image.getWidth() * image.getHeight() * 4]; + for (int i = 0; i < image.getWidth() * image.getHeight() * 4; i++) + bytes[i] = 0; + + Shader shader("../resources/shaders/basic.vs", "../resources/shaders/basic.fs"); + Raytracing::DisplayRenderer renderer{*window, mainImage, world, shader, worldShader, raycaster, parser, camera}; + while (!window->shouldWindowClose()) { + window->beginUpdate(); + renderer.draw(); + program.runKernel("drawImage", works, NULL, 2); + program.readImage("mainImage", image.getWidth(), image.getHeight(), bytes); + const PRECISION_TYPE colorFactor = 1.0 / 255.0; + for (int i = 0; i < image.getWidth(); i++){ + for (int j = 0; j < image.getHeight(); j++){ + const auto pixelData = bytes + (j * 4 * image.getWidth() + i * 4); + //tlog << (int)pixelData[0] << " " << (int)pixelData[1] << " " << (int)pixelData[2] << "\n"; + image.setPixelColor(i, j, {pixelData[0] * colorFactor, pixelData[1] * colorFactor, pixelData[2] * colorFactor}); + } } - RTSignal->haltExecution= true; - raycaster.join(); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + world.drawBVH(worldShader); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + window->endUpdate(); + } + RTSignal->haltExecution = true; + raycaster.join(); #else - flog << "Program not compiled with GUI support! Unable to continue!\n"; + flog << "Program not compiled with GUI support! Unable to open GUI\n"; #endif } else { - Raytracing::Raycaster raycaster {camera, image, world, parser}; + Raytracing::Raycaster raycaster{camera, image, world, parser}; // run the raycaster the standard way ilog << "Running raycaster!\n"; // we don't actually have to check for --single since it's implied to be default true. @@ -335,9 +245,13 @@ int main(int argc, char** args) { ilog << "Writing Image!\n"; imageOutput.write(parser.getOptionValue("--output") + timeString.str(), parser.getOptionValue("--format")); - delete(RTSignal); + delete (RTSignal); #ifdef COMPILE_GUI - deleteQuad(); + deleteQuad(); + #endif + #ifdef USE_MPI + } + MPI_Finalize(); #endif return 0; diff --git a/Step 3/src/engine/mpi.cpp b/Step 3/src/engine/mpi.cpp new file mode 100644 index 0000000..1b1c8ab --- /dev/null +++ b/Step 3/src/engine/mpi.cpp @@ -0,0 +1,19 @@ +// +// Created by brett on 22/11/22. +// +#include +#include + +#ifdef USE_MPI +namespace Raytracing { + void MPI::init(){ + MPI_Init(NULL, NULL); + MPI_Comm_size(MPI_COMM_WORLD, &numberOfProcesses); + MPI_Comm_rank(MPI_COMM_WORLD, ¤tProcessID); + char processorName[MPI_MAX_PROCESSOR_NAME]; + int NAME_LEN_UNUSED; + MPI_Get_processor_name(processorName, &NAME_LEN_UNUSED); + tlog << "Starting processor " << processorName << " with an ID of " << currentProcessID << "\n"; + } +} +#endif \ No newline at end of file diff --git a/Step 3/src/engine/util/parser.cpp b/Step 3/src/engine/util/parser.cpp index f03f2bb..515404b 100644 --- a/Step 3/src/engine/util/parser.cpp +++ b/Step 3/src/engine/util/parser.cpp @@ -102,6 +102,7 @@ namespace Raytracing { if (!defaultValues.contains(opt.first)) ilog << "With: " << opt.first; } + std::cout << "\n"; } void Parser::printDifferenceInInfo() { diff --git a/Step 3/src/graphics/graphics.cpp b/Step 3/src/graphics/graphics.cpp index 01b422d..447f12e 100644 --- a/Step 3/src/graphics/graphics.cpp +++ b/Step 3/src/graphics/graphics.cpp @@ -131,7 +131,7 @@ namespace Raytracing { int version = gladLoadGL(glfwGetProcAddress); if(!version) throw std::runtime_error("Unable to load Glad GL!\n"); - + glfwShowWindow(window); ilog << "Loaded GL" << GLAD_VERSION_MAJOR(version) << "." << GLAD_VERSION_MINOR(version) << "!\n"; } diff --git a/Step 3/src/opencl/cl.cpp b/Step 3/src/opencl/cl.cpp index 356f77a..7eeee2b 100644 --- a/Step 3/src/opencl/cl.cpp +++ b/Step 3/src/opencl/cl.cpp @@ -4,15 +4,24 @@ */ #include #include +#include +#ifdef COMPILE_GUI + #define GLFW_EXPOSE_NATIVE_X11 + #define GLFW_EXPOSE_NATIVE_GLX + #include + #include +#endif + +#include #include namespace Raytracing { - OpenCL openCl {0}; + std::shared_ptr openCl; void OpenCL::init() { - + openCl = std::make_shared(0, 0); } OpenCL::OpenCL(int platformID, int deviceID): m_activePlatform(platformID) { m_CL_ERR = CL_SUCCESS; @@ -30,7 +39,7 @@ namespace Raytracing { m_CL_ERR = clGetDeviceIDs(m_platformIDs[platformID], CL_DEVICE_TYPE_GPU, 1, &m_deviceID, &m_numOfDevices); printDeviceInfo(m_deviceID); - + m_context = clCreateContext(NULL, 1, &m_deviceID, NULL, NULL, &m_CL_ERR); if (m_CL_ERR != CL_SUCCESS) @@ -51,24 +60,43 @@ namespace Raytracing { clGetDeviceInfo(device, CL_DEVICE_IMAGE_SUPPORT, sizeof(cl_bool), &textureSupport, NULL); size_t maxWorkgroups; clGetDeviceInfo(device, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &maxWorkgroups, NULL); + clGetDeviceInfo(device, CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(cl_uint), &m_computeUnits, NULL); + clGetDeviceInfo(device, CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(cl_uint), &m_deviceClockFreq, NULL); + struct { + cl_uchar opencl_space[7]; // "OpenCL_" + cl_uchar major; + cl_uchar dot; + cl_uchar minor; + cl_uchar space; + cl_uchar vendor[32]; + } dv{}; + clGetDeviceInfo(device, CL_DEVICE_VERSION, sizeof(dv), &dv, NULL); dlog << "Opening OpenCL Device!\n"; + dlog << "Device CL String " << dv.opencl_space << dv.major << dv.dot << dv.minor << dv.space << dv.vendor<< "\n"; dlog << "Device Address Bits: " << deviceAddressBits << "\n"; dlog << "Device is currently " << (deviceAvailable ? "available" : "unavailable") << "\n"; dlog << "Device has " << cacheSize/1024 << "kb of cache with a cache line width of " << cacheLineSize << " bytes\n"; dlog << "Device " << (textureSupport ? "has" : "doesn't have") << " texture support\n"; - dlog << "Device has " << maxWorkgroups << " max workgroups.\n"; + dlog << "Device has " << maxWorkgroups << " max workgroup size.\n"; + dlog << "Device has " << m_computeUnits << " compute units running at a max clock frequency " << m_deviceClockFreq << "\n"; if (!textureSupport) elog << "Warning! The OpenCL device lacks texture support!\n"; } void OpenCL::createCLProgram(CLProgram& program) { - program.loadCLShader(openCl.m_context, openCl.m_deviceID); + program.loadCLShader(openCl->m_context, openCl->m_deviceID); } OpenCL::~OpenCL() { delete[](m_platformIDs); clReleaseDevice(m_deviceID); clReleaseContext(m_context); } + cl_uint OpenCL::activeDeviceComputeUnits() { + return openCl->m_computeUnits; + } + cl_uint OpenCL::activeDeviceFrequency() { + return openCl->m_deviceClockFreq; + } CLProgram::CLProgram(const std::string& file) { @@ -87,8 +115,18 @@ namespace Raytracing { elog << "Unable to create CL program!\n"; m_CL_ERR = clBuildProgram(m_program, 1, &deviceID, NULL, NULL, NULL); - if (m_CL_ERR != CL_SUCCESS) + if (m_CL_ERR != CL_SUCCESS) { elog << "Unable to build CL program!\n"; + size_t len; + + clGetProgramBuildInfo(m_program, m_deviceID, CL_PROGRAM_BUILD_LOG, 0, NULL, &len); + char buffer[len]; + + clGetProgramBuildInfo(m_program, m_deviceID, CL_PROGRAM_BUILD_LOG, len, buffer, NULL); + + elog << buffer << "\n"; + + } } /** * Buffers are the quintessential datastructures in OpenCL. They are basically regions of memory allocated to a program. @@ -115,6 +153,56 @@ namespace Raytracing { // then store it in our buffer map for easy access. buffers.insert({bufferName, buff}); } + void CLProgram::createImage(const std::string& imageName, int width, int height) { + // create the texture on the GPU + cl_image_format format {CL_RGBA, CL_UNORM_INT8}; + cl_image_desc imageDesc; + imageDesc.image_type = CL_MEM_OBJECT_IMAGE2D; + imageDesc.image_width = width; + imageDesc.image_height = height; + imageDesc.image_row_pitch = 0; + imageDesc.image_slice_pitch = 0; + imageDesc.num_mip_levels = 0; + imageDesc.num_samples = 0; + imageDesc.buffer = NULL; + cl_mem tex = clCreateImage(m_context, CL_MEM_READ_WRITE, &format, &imageDesc, NULL, &m_CL_ERR); + if (m_CL_ERR != CL_SUCCESS){ + elog << "Unable to create image texture!\n"; + checkBasicErrors(); + switch (m_CL_ERR){ + case CL_INVALID_VALUE: + elog << "\tFlags are not valid!\n"; + // this is straight from the docs + elog << "\tOR if a 1D image buffer is being created and the " + "buffer object was created with CL_MEM_WRITE_ONLY and flags specifies " + "CL_MEM_READ_WRITE or CL_MEM_READ_ONLY, or if the buffer object was created " + "with CL_MEM_READ_ONLY and flags specifies CL_MEM_READ_WRITE or CL_MEM_WRITE_ONLY, " + "or if flags specifies CL_MEM_USE_HOST_PTR or CL_MEM_ALLOC_HOST_PTR or CL_MEM_COPY_HOST_PTR. \n"; + elog << "\tOR if a 1D image buffer is being created and the buffer object was created with CL_MEM_HOST_WRITE_ONLY " + "and flags specifies CL_MEM_HOST_READ_ONLY, or if the buffer object was created with CL_MEM_HOST_READ_ONLY " + "and flags specifies CL_MEM_HOST_WRITE_ONLY, or if the buffer object was created with CL_MEM_HOST_NO_ACCESS " + "and flags specifies CL_MEM_HOST_READ_ONLY or CL_MEM_HOST_WRITE_ONLY. \n"; + break; + case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR: + elog << "\tImage format isn't valid!\n"; + break; + case CL_INVALID_IMAGE_DESCRIPTOR: + elog << "\tValues specified in image_desc are not valid or if image_desc is NULL!\n"; + break; + case CL_INVALID_IMAGE_SIZE: + elog << "\tImage dimensions exceed the minimum maximum image dimensions\n"; + break; + case CL_IMAGE_FORMAT_NOT_SUPPORTED: + elog << "\tImage format not supported!\n"; + break; + case CL_INVALID_OPERATION: + elog << "\tImages are not supported on this device!\n"; + break; + } + } + // then store it in our buffer map for easy access. + buffers.insert({imageName, tex}); + } /** * Kernels are the entry points in OpenCL. You can have multiple of them in a single program. * @param kernelName both the name of the kernel function in the source and the reference to the kernel object used in other functions in this class. @@ -122,7 +210,7 @@ namespace Raytracing { void CLProgram::createKernel(const std::string& kernelName) { auto kernel = clCreateKernel(m_program, kernelName.c_str(), &m_CL_ERR); if (m_CL_ERR != CL_SUCCESS) - elog << "Unable to create CL kernel" << kernelName << "!\n"; + elog << "Unable to create CL kernel " << kernelName << "!\n"; kernels.insert({kernelName, kernel}); } /** @@ -177,6 +265,32 @@ namespace Raytracing { clFinish(m_commandQueue); } + void CLProgram::runKernel(const std::string& kernel, size_t globalWorkSize, size_t localWorkSize, const size_t* globalWorkOffset) { + m_CL_ERR = clEnqueueNDRangeKernel(m_commandQueue, kernels[kernel], 1, globalWorkOffset, &globalWorkSize, &localWorkSize, 0, NULL, NULL); + } + + void CLProgram::runKernel(const std::string& kernel, size_t* globalWorkSize, size_t* localWorkSize, cl_uint workDim, const size_t* globalWorkOffset) { + m_CL_ERR = clEnqueueNDRangeKernel(m_commandQueue, kernels[kernel], workDim, globalWorkOffset, globalWorkSize, localWorkSize, 0, NULL, NULL); + } + + void CLProgram::readImage(const std::string& imageName, size_t width, size_t height, void* ptr, cl_bool blocking, size_t x, size_t y) { + size_t origin[3] {x, y, 0}; + size_t region[3] {width, height, 1}; + m_CL_ERR = clEnqueueReadImage(m_commandQueue, buffers[imageName], blocking, origin, region, 0, 0, ptr, 0, NULL, NULL); + if (m_CL_ERR != CL_SUCCESS) { + elog << "Unable to enqueue read from " << imageName << " image:\n"; + checkBasicErrors(); + switch (m_CL_ERR) { + case CL_INVALID_MEM_OBJECT: + elog << "\tInvalid Memory Object. " << imageName << " isn't a valid memory object (" << buffers[imageName] << ")!\n"; + break; + case CL_INVALID_VALUE: + elog << "\tOrigin / Region is out of bounds or your pointer is null!\n"; + break; + } + } + } + CLProgram::~CLProgram() { finishCommands(); for (const auto& kernel : kernels) @@ -186,6 +300,30 @@ namespace Raytracing { clReleaseMemObject(buffer.second); clReleaseCommandQueue(m_commandQueue); } - + void CLProgram::checkBasicErrors() const { + switch (m_CL_ERR){ + case CL_OUT_OF_HOST_MEMORY: + elog << "\tHost is out of memory!\n"; + break; + case CL_OUT_OF_RESOURCES: + elog << "\tDevice is out of resources!\n"; + break; + case CL_MEM_OBJECT_ALLOCATION_FAILURE: + elog << "\tUnable to allocate memory!\n"; + break; + case CL_INVALID_EVENT_WAIT_LIST: + elog << "\tInvalid wait list. (Why?)\n"; + break; + case CL_INVALID_COMMAND_QUEUE: + elog << "\tInvalid Command Queue!\n"; + break; + case CL_INVALID_CONTEXT: + elog << "\tInvalid Context!\n"; + break; + case CL_INVALID_HOST_PTR: + elog << "\tHost pointer is null OR flags are incorrectly set and pointer is NULL!\n"; + break; + } + } } \ No newline at end of file