This commit is contained in:
Noah L. Schrick 2022-02-04 23:43:38 -06:00
parent 915d679b9c
commit 19762e4090
13 changed files with 3802 additions and 3261 deletions

View File

@ -48,19 +48,19 @@ cmake_force:
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /storage/home/nschrick/pkg/cmake/3.22.0/bin/cmake
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /storage/home/nschrick/pkg/cmake/3.22.0/bin/cmake -E rm -f
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/nschrick/ag_parallel
CMAKE_SOURCE_DIR = "/home/noah/Documents/School/Thesis Work/ag_parallel"
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/nschrick/ag_parallel/build
CMAKE_BINARY_DIR = "/home/noah/Documents/School/Thesis Work/ag_parallel/build"
#=============================================================================
# Targets provided globally by CMake.
@ -68,7 +68,7 @@ CMAKE_BINARY_DIR = /home/nschrick/ag_parallel/build
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
/storage/home/nschrick/pkg/cmake/3.22.0/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
@ -78,7 +78,7 @@ edit_cache/fast: edit_cache
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/storage/home/nschrick/pkg/cmake/3.22.0/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
@ -87,9 +87,9 @@ rebuild_cache/fast: rebuild_cache
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/nschrick/ag_parallel/build/CMakeFiles /home/nschrick/ag_parallel/build//CMakeFiles/progress.marks
$(CMAKE_COMMAND) -E cmake_progress_start "/home/noah/Documents/School/Thesis Work/ag_parallel/build/CMakeFiles" "/home/noah/Documents/School/Thesis Work/ag_parallel/build//CMakeFiles/progress.marks"
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/nschrick/ag_parallel/build/CMakeFiles 0
$(CMAKE_COMMAND) -E cmake_progress_start "/home/noah/Documents/School/Thesis Work/ag_parallel/build/CMakeFiles" 0
.PHONY : all
# The main clean target
@ -116,6 +116,19 @@ depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named doc
# Build rule for target.
doc: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 doc
.PHONY : doc
# fast build rule for target.
doc/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/build
.PHONY : doc/fast
#=============================================================================
# Target rules for targets named ag_gen
@ -129,6 +142,19 @@ ag_gen/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/build
.PHONY : ag_gen/fast
#=============================================================================
# Target rules for targets named dynstr_test
# Build rule for target.
dynstr_test: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 dynstr_test
.PHONY : dynstr_test
# fast build rule for target.
dynstr_test/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/build
.PHONY : dynstr_test/fast
nm_parser.o: nm_parser.c.o
.PHONY : nm_parser.o
@ -465,6 +491,30 @@ src/mpi/tasks.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/mpi/tasks.cpp.s
.PHONY : src/mpi/tasks.cpp.s
src/tests/mem_test.o: src/tests/mem_test.c.o
.PHONY : src/tests/mem_test.o
# target to build an object file
src/tests/mem_test.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.o
.PHONY : src/tests/mem_test.c.o
src/tests/mem_test.i: src/tests/mem_test.c.i
.PHONY : src/tests/mem_test.i
# target to preprocess a source file
src/tests/mem_test.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.i
.PHONY : src/tests/mem_test.c.i
src/tests/mem_test.s: src/tests/mem_test.c.s
.PHONY : src/tests/mem_test.s
# target to generate assembly for a file
src/tests/mem_test.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.s
.PHONY : src/tests/mem_test.c.s
src/util/avail_mem.o: src/util/avail_mem.cpp.o
.PHONY : src/util/avail_mem.o
@ -615,6 +665,7 @@ src/util/mem.o: src/util/mem.c.o
# target to build an object file
src/util/mem.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.o
.PHONY : src/util/mem.c.o
src/util/mem.i: src/util/mem.c.i
@ -623,6 +674,7 @@ src/util/mem.i: src/util/mem.c.i
# target to preprocess a source file
src/util/mem.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.i
.PHONY : src/util/mem.c.i
src/util/mem.s: src/util/mem.c.s
@ -631,6 +683,7 @@ src/util/mem.s: src/util/mem.c.s
# target to generate assembly for a file
src/util/mem.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.s
.PHONY : src/util/mem.c.s
src/util/redis_manager.o: src/util/redis_manager.cpp.o
@ -761,7 +814,9 @@ help:
@echo "... depend"
@echo "... edit_cache"
@echo "... rebuild_cache"
@echo "... doc"
@echo "... ag_gen"
@echo "... dynstr_test"
@echo "... nm_parser.o"
@echo "... nm_parser.i"
@echo "... nm_parser.s"
@ -804,6 +859,9 @@ help:
@echo "... src/mpi/tasks.o"
@echo "... src/mpi/tasks.i"
@echo "... src/mpi/tasks.s"
@echo "... src/tests/mem_test.o"
@echo "... src/tests/mem_test.i"
@echo "... src/tests/mem_test.s"
@echo "... src/util/avail_mem.o"
@echo "... src/util/avail_mem.i"
@echo "... src/util/avail_mem.s"

Binary file not shown.

View File

@ -1,132 +1,142 @@
[
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/main.cpp.o -c /home/nschrick/ag_parallel/src/main.cpp",
"file": "/home/nschrick/ag_parallel/src/main.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/main.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/main.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/main.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/nm_scanner.c.o -c /home/nschrick/ag_parallel/build/nm_scanner.c",
"file": "/home/nschrick/ag_parallel/build/nm_scanner.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/nm_scanner.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/build/nm_scanner.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/build/nm_scanner.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/nm_parser.c.o -c /home/nschrick/ag_parallel/build/nm_parser.c",
"file": "/home/nschrick/ag_parallel/build/nm_parser.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/nm_parser.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/build/nm_parser.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/build/nm_parser.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/xp_scanner.c.o -c /home/nschrick/ag_parallel/build/xp_scanner.c",
"file": "/home/nschrick/ag_parallel/build/xp_scanner.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/xp_scanner.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/build/xp_scanner.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/build/xp_scanner.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/xp_parser.c.o -c /home/nschrick/ag_parallel/build/xp_parser.c",
"file": "/home/nschrick/ag_parallel/build/xp_parser.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/xp_parser.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/build/xp_parser.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/build/xp_parser.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/ag_gen.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/ag_gen.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/ag_gen.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/ag_gen.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/asset.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/asset.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/asset.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/asset.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/assetgroup.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/assetgroup.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/assetgroup.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/assetgroup.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/edge.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/edge.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/edge.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/edge.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/exploit.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/exploit.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/exploit.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/exploit.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/factbase.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/factbase.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/factbase.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/factbase.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/network_state.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/network_state.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/network_state.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/network_state.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/quality.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/quality.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/quality.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/quality.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.o -c /home/nschrick/ag_parallel/src/ag_gen/topology.cpp",
"file": "/home/nschrick/ag_parallel/src/ag_gen/topology.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/topology.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/topology.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.o -c /home/nschrick/ag_parallel/src/util/avail_mem.cpp",
"file": "/home/nschrick/ag_parallel/src/util/avail_mem.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/avail_mem.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/avail_mem.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/build_sql.c.o -c /home/nschrick/ag_parallel/src/util/build_sql.c",
"file": "/home/nschrick/ag_parallel/src/util/build_sql.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/build_sql.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/build_sql.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/build_sql.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/common.cpp.o -c /home/nschrick/ag_parallel/src/util/common.cpp",
"file": "/home/nschrick/ag_parallel/src/util/common.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/common.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/common.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/common.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.o -c /home/nschrick/ag_parallel/src/util/db_functions.cpp",
"file": "/home/nschrick/ag_parallel/src/util/db_functions.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/db_functions.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/db_functions.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/hash.c.o -c /home/nschrick/ag_parallel/src/util/hash.c",
"file": "/home/nschrick/ag_parallel/src/util/hash.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/hash.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/hash.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/hash.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/list.c.o -c /home/nschrick/ag_parallel/src/util/list.c",
"file": "/home/nschrick/ag_parallel/src/util/list.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/list.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/list.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/list.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/mem.c.o -c /home/nschrick/ag_parallel/src/util/mem.c",
"file": "/home/nschrick/ag_parallel/src/util/mem.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/mem.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.o -c /home/nschrick/ag_parallel/src/util/redis_manager.cpp",
"file": "/home/nschrick/ag_parallel/src/util/redis_manager.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/redis_manager.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/redis_manager.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/str_array.c.o -c /home/nschrick/ag_parallel/src/util/str_array.c",
"file": "/home/nschrick/ag_parallel/src/util/str_array.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/str_array.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/str_array.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/str_array.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/gcc -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -g -pthread -o CMakeFiles/ag_gen.dir/src/util/vector.c.o -c /home/nschrick/ag_parallel/src/util/vector.c",
"file": "/home/nschrick/ag_parallel/src/util/vector.c"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -pthread -o CMakeFiles/ag_gen.dir/src/util/vector.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/vector.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/vector.c"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/serialize.cpp.o -c /home/nschrick/ag_parallel/src/mpi/serialize.cpp",
"file": "/home/nschrick/ag_parallel/src/mpi/serialize.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/serialize.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/serialize.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/serialize.cpp"
},
{
"directory": "/home/nschrick/ag_parallel/build",
"command": "/opt/apps/gcc/8.2.0/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I/home/nschrick/ag_parallel/src -isystem /home/nschrick/pkg/boost/1.77.0/include -isystem /storage/home/nschrick/pkg/openmpi/4.1.2/include -isystem /home/nschrick/pkg/openmpi/4.1.2/include -std=c++14 -fopenmp -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/tasks.cpp.o -c /home/nschrick/ag_parallel/src/mpi/tasks.cpp",
"file": "/home/nschrick/ag_parallel/src/mpi/tasks.cpp"
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -DBOOST_MPI_DYN_LINK -DBOOST_MPI_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/tasks.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/dynstr_test.dir/src/util/mem.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/tests/mem_test.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/tests/mem_test.c"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,22 @@
/* A Bison parser, made by GNU Bison 3.8.2. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@ -28,53 +27,67 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
IDENTIFIER = 258,
INT = 259,
FLOAT = 260,
EQ = 261,
GT = 262,
LT = 263,
GEQ = 264,
LEQ = 265,
ONEDIR = 266,
ONEDIRBACK = 267,
BIDIR = 268,
NOTONEDIR = 269,
NOTBIDIR = 270,
NETWORK = 271,
MODEL = 272,
ASSETS = 273,
COLON = 274,
FACTS = 275,
PERIOD = 276,
SEMI = 277,
QUALITY = 278,
COMMA = 279,
TOPOLOGY = 280,
WHITESPACE = 281,
TAGS = 282
};
#ifndef YY_NM_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_NM_PARSER_TAB_H_INCLUDED
# define YY_NM_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_NM_PARSER_TAB_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int nmdebug;
#endif
/* Token kinds. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
YYEMPTY = -2,
YYEOF = 0, /* "end of file" */
YYerror = 256, /* error */
YYUNDEF = 257, /* "invalid token" */
IDENTIFIER = 258, /* IDENTIFIER */
INT = 259, /* INT */
FLOAT = 260, /* FLOAT */
EQ = 261, /* EQ */
GT = 262, /* GT */
LT = 263, /* LT */
GEQ = 264, /* GEQ */
LEQ = 265, /* LEQ */
ONEDIR = 266, /* ONEDIR */
ONEDIRBACK = 267, /* ONEDIRBACK */
BIDIR = 268, /* BIDIR */
NOTONEDIR = 269, /* NOTONEDIR */
NOTBIDIR = 270, /* NOTBIDIR */
NETWORK = 271, /* NETWORK */
MODEL = 272, /* MODEL */
ASSETS = 273, /* ASSETS */
COLON = 274, /* COLON */
FACTS = 275, /* FACTS */
PERIOD = 276, /* PERIOD */
SEMI = 277, /* SEMI */
QUALITY = 278, /* QUALITY */
COMMA = 279, /* COMMA */
TOPOLOGY = 280, /* TOPOLOGY */
WHITESPACE = 281, /* WHITESPACE */
TAGS = 282 /* TAGS */
};
typedef enum yytokentype yytoken_kind_t;
#endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
union YYSTYPE
{
/* Line 1676 of yacc.c */
#line 25 "/home/nschrick/ag_parallel/src/parser/nm-parser/nm_parser.yy"
#line 25 "/home/noah/Documents/School/Thesis Work/ag_parallel/src/parser/nm-parser/nm_parser.yy"
struct str_array* arr;
struct list* lst;
@ -83,16 +96,19 @@ typedef union YYSTYPE
struct fact *fct;
char* string;
#line 100 "/home/noah/Documents/School/Thesis Work/ag_parallel/build/nm_parser.tab.h"
/* Line 1676 of yacc.c */
#line 90 "/home/nschrick/ag_parallel/build/nm_parser.tab.h"
} YYSTYPE;
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE nmlval;
int nmparse (struct networkmodel* nm);
#endif /* !YY_NM_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_NM_PARSER_TAB_H_INCLUDED */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,22 @@
/* A Bison parser, made by GNU Bison 3.8.2. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@ -28,63 +27,77 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
IDENTIFIER = 258,
INT = 259,
FLOAT = 260,
GROUP = 261,
EQ = 262,
NEQ = 263,
GT = 264,
LT = 265,
GEQ = 266,
LEQ = 267,
PLUSEQ = 268,
SUBEQ = 269,
ONEDIR = 270,
ONEDIRBACK = 271,
BIDIR = 272,
NOTONEDIR = 273,
NOTBIDIR = 274,
ADD = 275,
INSERT = 276,
UPDATE = 277,
DELETE = 278,
REMOVE = 279,
EXPLOIT = 280,
PRECONDITIONS = 281,
POSTCONDITIONS = 282,
COLON = 283,
FACTS = 284,
PERIOD = 285,
SEMI = 286,
QUALITY = 287,
COMMA = 288,
TOPOLOGY = 289,
WHITESPACE = 290,
LPAREN = 291,
RPAREN = 292
};
#ifndef YY_XP_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_XP_PARSER_TAB_H_INCLUDED
# define YY_XP_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_XP_PARSER_TAB_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int xpdebug;
#endif
/* Token kinds. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
YYEMPTY = -2,
YYEOF = 0, /* "end of file" */
YYerror = 256, /* error */
YYUNDEF = 257, /* "invalid token" */
IDENTIFIER = 258, /* IDENTIFIER */
INT = 259, /* INT */
FLOAT = 260, /* FLOAT */
GROUP = 261, /* GROUP */
EQ = 262, /* EQ */
NEQ = 263, /* NEQ */
GT = 264, /* GT */
LT = 265, /* LT */
GEQ = 266, /* GEQ */
LEQ = 267, /* LEQ */
PLUSEQ = 268, /* PLUSEQ */
SUBEQ = 269, /* SUBEQ */
ONEDIR = 270, /* ONEDIR */
ONEDIRBACK = 271, /* ONEDIRBACK */
BIDIR = 272, /* BIDIR */
NOTONEDIR = 273, /* NOTONEDIR */
NOTBIDIR = 274, /* NOTBIDIR */
ADD = 275, /* ADD */
INSERT = 276, /* INSERT */
UPDATE = 277, /* UPDATE */
DELETE = 278, /* DELETE */
REMOVE = 279, /* REMOVE */
EXPLOIT = 280, /* EXPLOIT */
PRECONDITIONS = 281, /* PRECONDITIONS */
POSTCONDITIONS = 282, /* POSTCONDITIONS */
COLON = 283, /* COLON */
FACTS = 284, /* FACTS */
PERIOD = 285, /* PERIOD */
SEMI = 286, /* SEMI */
QUALITY = 287, /* QUALITY */
COMMA = 288, /* COMMA */
TOPOLOGY = 289, /* TOPOLOGY */
WHITESPACE = 290, /* WHITESPACE */
LPAREN = 291, /* LPAREN */
RPAREN = 292 /* RPAREN */
};
typedef enum yytokentype yytoken_kind_t;
#endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
union YYSTYPE
{
/* Line 1676 of yacc.c */
#line 21 "/home/nschrick/ag_parallel/src/parser/xp-parser/xp_parser.yy"
#line 21 "/home/noah/Documents/School/Thesis Work/ag_parallel/src/parser/xp-parser/xp_parser.yy"
struct str_array *arr;
struct list *list;
@ -94,16 +107,19 @@ typedef union YYSTYPE
struct fact *fct;
char *string;
#line 111 "/home/noah/Documents/School/Thesis Work/ag_parallel/build/xp_parser.tab.h"
/* Line 1676 of yacc.c */
#line 101 "/home/nschrick/ag_parallel/build/xp_parser.tab.h"
} YYSTYPE;
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE xplval;
int xpparse (struct list *xplist);
#endif /* !YY_XP_HOME_NOAH_DOCUMENTS_SCHOOL_THESIS_WORK_AG_PARALLEL_BUILD_XP_PARSER_TAB_H_INCLUDED */

File diff suppressed because it is too large Load Diff

View File

@ -384,7 +384,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
two_alloc = alloc-1;
reduc_factor = 1;
}
std::cout << "World Size: " << world.size() << " Allocated to Task 1: " << alloc << " Allocated to Task 2: " << two_alloc << "Ceil val: " << ceil_val << std::endl;
//std::cout << "World Size: " << world.size() << " Allocated to Task 1: " << alloc << " Allocated to Task 2: " << two_alloc << "Ceil val: " << ceil_val << std::endl;
//Create Communicators
//Note, these each return 2 handles!
@ -395,8 +395,8 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
}
else
ttwo_comm = world.split(world.rank() >= send_check(world, alloc) && world.rank() <= (alloc+two_alloc));
std::cout << "TCOMM SIZE: " << tcomm.size() << std::endl;
std::cout << "TTWO_COMM SIZE: " << ttwo_comm.size() << std::endl;
//std::cout << "TCOMM SIZE: " << tcomm.size() << std::endl;
//std::cout << "TTWO_COMM SIZE: " << ttwo_comm.size() << std::endl;
while (!localFrontier.empty() || !unex_empty() || world.rank() > 0){//while starts
//Node 0 needs to tell other nodes to continue
@ -410,7 +410,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
else {
//If we don't have the go-ahead, check for the Finalize message.
std::cout << "Node " << world.rank() << " is waiting for the go-ahead or finalize message." << std::endl;
//std::cout << "Node " << world.rank() << " is waiting for the go-ahead or finalize message." << std::endl;
while(!world.iprobe(0, 14)){
if(world.iprobe(0, 15)){
mpi_exit = 1;
@ -455,7 +455,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
struct timeval t11,t12;
gettimeofday(&t11,NULL);
task_one(instance, current_state, exploit_list, od_map, alloc, two_alloc, reduc_factor, num_tasks, world, tcomm);
std::cout << "Finished Task 1 as Node: " << world.rank() << std::endl;
//std::cout << "Finished Task 1 as Node: " << world.rank() << std::endl;
gettimeofday(&t12,NULL);
total_task1+=(t12.tv_sec-t11.tv_sec)*1000.0+(t12.tv_usec-t11.tv_usec)/1000.0;
}
@ -472,7 +472,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
gettimeofday(&t21,NULL);
task_two(instance, alloc, two_alloc, world, localFrontier, mem_threshold,\
ttwo_comm, ex_groups, hash_map);
std::cout << "Finished Task 2 as Node: " << world.rank() << std::endl;
//std::cout << "Finished Task 2 as Node: " << world.rank() << std::endl;
//Wait for all Task 2 nodes to finish
while(ttwo_comm.iprobe(mpi::any_source, 3) || ttwo_comm.iprobe(mpi::any_source, 4)){
@ -499,7 +499,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
if(world.size() == 2){
mpi::request tdone_req = world.isend(1, 2, 1);
tdone_req.wait();
std::cout << "Node " << world.rank() << " sent finished message." << std::endl;
//std::cout << "Node " << world.rank() << " sent finished message." << std::endl;
break;
}
@ -510,7 +510,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
}
}
std::cout << "Task 2 Finished." << std::endl;
//std::cout << "Task 2 Finished." << std::endl;
}
}
@ -525,7 +525,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
*/
//If we haven't been told that task 2 is finished, and if we still more facts or states to update:
//while(!world.iprobe(1+alloc, 2) && world.iprobe(mpi::any_source, 3) && world.iprobe(mpi::any_source, 4) && world.iprobe(mpi::any_source, 5))
std::cout << "Node " << world.rank() << " is waiting for Task 2 completion." << std::endl;
//std::cout << "Node " << world.rank() << " is waiting for Task 2 completion." << std::endl;
int finished_signal = 0;
if(world.iprobe(mpi::any_source, 2)){
world.recv(mpi::any_source, 2, finished_signal);
@ -538,9 +538,9 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
if(world.iprobe(mpi::any_source, 2)){
//Prevent double-pulling
if(!finished_signal){
std::cout << "Else nodes received task 2 completion message." << std::endl;
//std::cout << "Else nodes received task 2 completion message." << std::endl;
world.recv(mpi::any_source, 2, finished_signal);
std::cout << "Receive message complete." << std::endl;
//std::cout << "Receive message complete." << std::endl;
}
}
@ -571,20 +571,20 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
gettimeofday(&t31,NULL);
task_three(instance, critical_state, localFrontier, mem_threshold, world,\
alloc, two_alloc, current_state, exploit, assetGroup, hash_map);
std::cout << "Task 3 finished." << std::endl;
//std::cout << "Task 3 finished." << std::endl;
gettimeofday(&t32,NULL);
total_task3+=(t32.tv_sec-t31.tv_sec)*1000.0+(t32.tv_usec-t31.tv_usec)/1000.0;
}
} //Node 0 Task 3 wait ends
} //while probe/instance update ends
std::cout << "Node " << world.rank() << " has finished Task 2 waiting." << std::endl;
//std::cout << "Node " << world.rank() << " has finished Task 2 waiting." << std::endl;
} //else wait ends
}
//Task Four
if (world.rank() == send_check(world, alloc+two_alloc)){
if(world.iprobe(0, 7) || world.iprobe(0, 8)){
std::cout << "Node " << world.rank() << " is starting Task 4." << std::endl;
//std::cout << "Node " << world.rank() << " is starting Task 4." << std::endl;
std::vector<Factbase> factbases_dump;
std::vector<Edge> edges_dump;
world.recv(0, 7, factbases_dump);
@ -592,7 +592,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
instance.factbases = factbases_dump;
instance.edges = edges_dump;
//task_four(instance);
std::cout << "Task 4 finished." << std::endl;
//std::cout << "Task 4 finished." << std::endl;
struct timeval t41,t42;
gettimeofday(&t41,NULL);
save_ag_to_db(instance, true);
@ -634,7 +634,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
}
}
std::cout << "Node " << world.rank() << " moving to next iter" << std::endl;
//std::cout << "Node " << world.rank() << " moving to next iter" << std::endl;
} //while ends
if(world.rank() == 0){
@ -651,7 +651,7 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
auto ag_end= std::chrono::system_clock::now();
}//OpenMP block ends
std::cout << "Process " << world.rank() << " is finishing." << std::endl;
//std::cout << "Process " << world.rank() << " is finishing." << std::endl;
//Wait for db ops to finish
world.barrier();
if(world.rank() == 0){

View File

@ -70,7 +70,7 @@ void task_one(AGGenInstance &instance, NetworkState &current_state,\
int alloc, int two_alloc, int reduc_factor, int num_tasks, mpi::communicator &world,\
mpi::communicator &tcomm){
std::cout << "Process rank " << world.rank() << " with " << alloc << " node(s) allocated has started Task 1." << std::endl;
//std::cout << "Process rank " << world.rank() << " with " << alloc << " node(s) allocated has started Task 1." << std::endl;
std::vector<std::tuple<Exploit, AssetGroup>> appl_exploits;
unsigned long esize = exploit_list.size();
@ -135,51 +135,41 @@ void task_one(AGGenInstance &instance, NetworkState &current_state,\
//Distribute the appl_exploit list from the extra node in task 1 to all other nodes in this task
if (alloc > two_alloc){
int has_data;
//std::tuple<int, int> data_mod = std::make_tuple(0, 0);
if (world.rank() == alloc){
if (appl_exploits.size() > 0){
//std::get<0>(data_mod) = ceil((double)appl_exploits.size()/((double)tcomm.size()-1));
//std::get<1>(data_mod) = appl_exploits.size()%(tcomm.size()-1);
//data_mod = std::make_tuple(ceil((double)appl_exploits.size()/((double)tcomm.size()-1)), appl_exploits.size()%(tcomm.size()-1));
has_data = 1;
}
else{
has_data = 0;
}
}
int has_data;
if (world.rank() == alloc){
if (appl_exploits.size() > 0){
has_data = 1;
}
else{
has_data = 0;
}
}
//Convert world.rank() of alloc to tcomm rank by -1
broadcast(tcomm, has_data, alloc-1);
//Convert world.rank() of alloc to tcomm rank by -1
broadcast(tcomm, has_data, alloc-1);
if(has_data==1){
std::vector<std::vector<std::tuple<Exploit, AssetGroup>>> sub_partials;
std::vector<std::tuple<Exploit, AssetGroup>> partial_appl_exploits;
if (world.rank() == alloc){
size_t num_data = appl_exploits.size()/(tcomm.size()-1);
size_t remain = appl_exploits.size()%(tcomm.size()-1);
int begin = 0;
int end = 0;
for (int i = 0; i < std::min((int)(tcomm.size()-1), (int)appl_exploits.size()); ++i){
end += (remain > 0) ? (num_data + !!(remain--)) : num_data;
sub_partials.push_back(std::vector<std::tuple<Exploit, AssetGroup>>(appl_exploits.begin()+begin, appl_exploits.begin()+end));
begin = end;
mpi::request scatter_req = tcomm.isend(i, 21, sub_partials.at(i));
std::cout << "PROCESS " << world.rank() << " SENDING APPL EXPLOIT LIST OF SIZE " << sub_partials.at(i).size() << "TO TCOMM RANK " << i << " ORIGINAL LIST WAS SIZE " << appl_exploits.size() << std::endl;
scatter_req.wait();
}
}
tcomm.barrier();
if(has_data==1){
std::vector<std::vector<std::tuple<Exploit, AssetGroup>>> sub_partials;
std::vector<std::tuple<Exploit, AssetGroup>> partial_appl_exploits;
if (world.rank() == alloc){
size_t num_data = appl_exploits.size()/(tcomm.size()-1);
size_t remain = appl_exploits.size()%(tcomm.size()-1);
int begin = 0;
int end = 0;
for (int i = 0; i < std::min((int)(tcomm.size()-1), (int)appl_exploits.size()); ++i){
end += (remain > 0) ? (num_data + !!(remain--)) : num_data;
sub_partials.push_back(std::vector<std::tuple<Exploit, AssetGroup>>(appl_exploits.begin()+begin, appl_exploits.begin()+end));
begin = end;
mpi::request scatter_req = tcomm.isend(i, 21, sub_partials.at(i));
scatter_req.wait();
}
}
tcomm.barrier();
if(world.rank() < alloc){
if(tcomm.iprobe(alloc-1, 21)){
tcomm.recv(alloc-1, 21, partial_appl_exploits);
std::cout << "PROCESS " << world.rank() << " RECEIVED APPL EXPLOIT LIST OF SIZE " << partial_appl_exploits.size() << " IN TASK 1" << std::endl;
appl_exploits.insert(std::end(appl_exploits), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
//for(auto itr=partial_appl_exploits.begin(); itr!=partial_appl_exploits.end(); itr++){
// auto index_r=std::distance(partial_appl_exploits.begin(),itr);
// appl_exploits.push_back(partial_appl_exploits.at(index_r));
//}
}
if(tcomm.iprobe(alloc-1, 21)){
tcomm.recv(alloc-1, 21, partial_appl_exploits);
appl_exploits.insert(std::end(appl_exploits), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
}
}
}
}
@ -189,7 +179,7 @@ void task_one(AGGenInstance &instance, NetworkState &current_state,\
if (alloc > two_alloc)
skip_greatest = 1;
if(world.rank() <= (alloc - skip_greatest)){
std::cout << "Process " << world.rank() << " sending applicable exploit list of size " << appl_exploits.size() <<\
//std::cout << "Process " << world.rank() << " sending applicable exploit list of size " << appl_exploits.size() <<\
" to Process " << send_check(world, world.rank() + alloc -1) << std::endl;
mpi::request appl_req = world.isend(send_check(world, world.rank() + alloc -1), 30, appl_exploits);
mpi::request cs_req = world.isend(send_check(world, world.rank() + alloc -1), 40, current_state);
@ -202,7 +192,7 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
std::deque<NetworkState> &localFrontier, double mem_threshold, boost::mpi::communicator &ttwo_comm,\
std::vector<std::string> ex_groups, std::unordered_map<size_t, int> &hash_map){
std::cout << "Process rank " << world.rank() << " with " << two_alloc <<\
//std::cout << "Process rank " << world.rank() << " with " << two_alloc <<\
" node(s) allocated has started Task 2 with local communicator rank of " << ttwo_comm.rank() << std::endl;
NetworkState current_state;
@ -211,7 +201,7 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
world.recv(mpi::any_source, 30, appl_exploits);
world.recv(mpi::any_source, 40, current_state);
std::cout << "Process " << world.rank() << " received Task 1 data with Appl exploit size " << appl_exploits.size() << std::endl;
//std::cout << "Process " << world.rank() << " received Task 1 data with Appl exploit size " << appl_exploits.size() << std::endl;
//Check for new fact and new state that caused an update in the hash table and facts
while(world.iprobe(mpi::any_source, 3) || world.iprobe(mpi::any_source, 4)){
@ -228,11 +218,6 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
std::vector<std::tuple<Exploit, AssetGroup>> partial_appl_exploits;
//Don't think we need this? All nodes get their own appl_expl list
//if(ttwo_comm.size() > 1)
//mpi::scatter(ttwo_comm, partial_appl_exploits, appl_exploits.data(), 0);
//mpi::scatter(ttwo_comm, &partial_appl_exploits, appl_exploits, 0);
auto current_hash = current_state.get_hash(instance.facts);
std::map<std::string, int> group_fired; //Map to hold fired status per group
@ -251,16 +236,16 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
auto e = *itr;
egroup = std::get<0>(e).get_group();
int tflag = 0;
int tflag = 0;
if (egroup != "null"){
sync_vectors[egroup].push_back(e);
if(ttwo_comm.rank() != 0){
std::cout << "NODE " << world.rank() << " HAD A SYNC EXPLOIT " << std::endl;
itr = appl_exploits.erase(itr);
tflag = 1;
itr = appl_exploits.erase(itr);
tflag = 1;
}
}
}
if(tflag == 0)
if(tflag == 0)
itr++;
}
@ -268,58 +253,39 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
for (auto map_group : ex_groups){
if(sync_vectors[map_group].size() > 0){
mpi::request sync_req = ttwo_comm.isend(0, 9, std::make_tuple(map_group, sync_vectors[map_group]));
std::cout << "NODE " << world.rank() << " SENDING SYNC APPL SIZE OF " << sync_vectors[map_group].size() << std::endl;
sync_req.wait();
sync_vectors[map_group].clear();
sync_req.wait();
sync_vectors[map_group].clear();
}
}
/*
for(auto itr = appl_exploits.begin(); itr != appl_exploits.end();){
egroup = std::get<0>(*itr).get_group();
if (egroup != "null"){
itr = appl_exploits.erase(itr);
}
else{
itr++;
}
}*/
}
}
ttwo_comm.barrier();
if(ttwo_comm.rank() == 0 && ttwo_comm.size() > 1){
//Attempt to distribute workload evenly has unintended effects since we don't know which Task 1 data goes where: it could all go to this node.
//for(auto itr = appl_exploits.begin(); itr != appl_exploits.end();){
// itr = appl_exploits.erase(itr);
//}
//for (int r = 0; r < ex_groups.size() * (ttwo_comm.size()-1); r++){
while(ttwo_comm.iprobe(mpi::any_source, 9)){
std::tuple<std::string, std::vector<std::tuple<Exploit, AssetGroup>>> sync_recv;
ttwo_comm.recv(mpi::any_source, 9, sync_recv);
partial_appl_exploits = std::get<1>(sync_recv);
appl_exploits.insert(std::end(appl_exploits), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
std::cout << "TTWO COMM RANK 0 HAS RECEIVED AN APPL EXPLOIT LIST SIZE OF " << partial_appl_exploits.size() << " RESULTING IN A TOTAL SIZE OF " << appl_exploits.size() << std::endl;
sync_vectors[std::get<0>(sync_recv)].insert(std::end(sync_vectors[std::get<0>(sync_recv)]), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
//for(auto itr=partial_appl_exploits.begin(); itr!=partial_appl_exploits.end(); itr++){
// auto index_r=std::distance(partial_appl_exploits.begin(),itr);
// appl_exploits.push_back(partial_appl_exploits.at(index_r));
// }
}
std::tuple<std::string, std::vector<std::tuple<Exploit, AssetGroup>>> sync_recv;
ttwo_comm.recv(mpi::any_source, 9, sync_recv);
partial_appl_exploits = std::get<1>(sync_recv);
appl_exploits.insert(std::end(appl_exploits), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
sync_vectors[std::get<0>(sync_recv)].insert(std::end(sync_vectors[std::get<0>(sync_recv)]), std::begin(partial_appl_exploits), std::end(partial_appl_exploits));
}
}
//loop through the vector
for(auto itr=appl_exploits.begin(); itr!=appl_exploits.end(); itr++){
//Check for new fact and new state that caused an update in the hash table and facts
while(world.iprobe(mpi::any_source, 3) || world.iprobe(mpi::any_source, 4)){
NetworkState update_state;
Quality update_fact;
//Check for new fact and new state that caused an update in the hash table and facts
while(world.iprobe(mpi::any_source, 3) || world.iprobe(mpi::any_source, 4)){
NetworkState update_state;
Quality update_fact;
world.recv(mpi::any_source, 3, update_state);
world.recv(mpi::any_source, 4, update_fact);
instance.facts.hash_table[update_state.compound_assign(update_fact)]=instance.facts.size();
instance.facts.length++;
instance.facts.str_vector.push_back(update_state.compound_assign(update_fact));
}
world.recv(mpi::any_source, 3, update_state);
world.recv(mpi::any_source, 4, update_fact);
//Update
instance.facts.hash_table[update_state.compound_assign(update_fact)]=instance.facts.size();
instance.facts.length++;
instance.facts.str_vector.push_back(update_state.compound_assign(update_fact));
}
auto e = *itr;
auto exploit = std::get<0>(e);
@ -343,7 +309,7 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
break;
}
}
std::cout << "Sync exploit size " << sync_exploits.size() << " at Node " << world.rank() << " out of a total of " << appl_exploits.size() << std::endl;
//std::cout << "Sync exploit size " << sync_exploits.size() << " at Node " << world.rank() << " out of a total of " << appl_exploits.size() << std::endl;
for(auto sync_itr=sync_exploits.begin(); sync_itr!=sync_exploits.end(); sync_itr++){
e = *sync_itr;
exploit = std::get<0>(e);
@ -385,8 +351,8 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
{
mpi::request ns_req = world.isend(w, 3, new_state);
mpi::request fact_req = world.isend(w, 4, fact);
ns_req.wait();
fact_req.wait();
ns_req.wait();
fact_req.wait();
}
}
}
@ -418,29 +384,29 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
auto hash_num = new_state.get_hash(instance.facts);
if (hash_num == current_hash){
std::cout << "Same hash." << std::endl;
//std::cout << "Same hash." << std::endl;
continue;
}
//<6 Node Edge Case Prevention: Node 0 unable to execute task 3
if(world.rank() != 0){
std::cout << "Node " << world.rank() << " sending new state data to Node 0" << std::endl;
//std::cout << "Node " << world.rank() << " sending new state data to Node 0" << std::endl;
mpi::request ns_req = world.isend(0, 5, new_state);
mpi::request cs_req = world.isend(0, 6, current_state);
mpi::request ex_req = world.isend(0, 10, exploit);
mpi::request ag_req = world.isend(0, 11, assetGroup);
ns_req.wait();
cs_req.wait();
ex_req.wait();
ag_req.wait();
}
cs_req.wait();
ex_req.wait();
ag_req.wait();
}
else {
task_three(instance, new_state, localFrontier, mem_threshold, world,\
alloc, two_alloc, current_state, exploit, assetGroup, hash_map);
}
}
else{
std::cout << "Breaking." << std::endl;
//std::cout << "Breaking." << std::endl;
break;
}
}
@ -450,7 +416,7 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
double mem_threshold, boost::mpi::communicator &world, int alloc, int two_alloc, NetworkState &current_state,\
Exploit &exploit, AssetGroup &assetGroup, std::unordered_map<size_t, int> &hash_map){
std::cout << "Started Task 3." << std::endl;
//std::cout << "Started Task 3." << std::endl;
auto hash_num = new_state.get_hash(instance.facts);
//although local frontier is updated, the global hash is also updated to avoid testing on explored states.
@ -478,8 +444,8 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
if (f_alpha >= (mem_threshold/2)) {
//std::cout << "Frontier Alpha prior to database storing: " << f_alpha << std::endl;
mpi::request ns_req = world.isend(send_check(world, alloc+two_alloc+1), 50, new_state);
ns_req.wait();
//save_unexplored_to_db(new_state);
ns_req.wait();
//save_unexplored_to_db(new_state);
if (!localFrontier.empty())
f_alpha = (static_cast<double>(localFrontier.size()) * (localFrontier.back().get_size()))/tot_sys_mem;
else
@ -490,8 +456,8 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
//Store new state in database to ensure proper ordering of the FIFO queue
else if (!unex_empty()){
mpi::request ns_req = world.isend(send_check(world, alloc+two_alloc+1), 50, new_state);
ns_req.wait();
//save_unexplored_to_db(new_state);
ns_req.wait();
//save_unexplored_to_db(new_state);
}
//Otherwise, we can just store in memory
@ -504,8 +470,8 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
mpi::request fb_req = world.isend(send_check(world, alloc+two_alloc), 7, instance.factbases);
mpi::request ed_req = world.isend(send_check(world, alloc+two_alloc), 8, instance.edges);
//save_ag_to_db(instance, true);
fb_req.wait();
ed_req.wait();
fb_req.wait();
ed_req.wait();
//Clear vectors and free memory
std::vector<Factbase>().swap(instance.factbases);
std::vector<FactbaseItems>().swap(instance.factbase_items);
@ -524,11 +490,11 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
instance.edges.push_back(ed);
} //END if (hash_map.find(hash_num) == hash_map.end())
else {
int id = hash_map[hash_num];
Edge ed(current_state.get_id(), id, exploit, assetGroup);
ed.set_id();
instance.edges.push_back(ed);
else{
int id = hash_map[hash_num];
Edge ed(current_state.get_id(), id, exploit, assetGroup);
ed.set_id();
instance.edges.push_back(ed);
}
}

View File

@ -1,10 +1,3 @@
/*
* tuple.h
*
* Created on: Jan 29, 2013
* Author: vincent
*/
#ifndef ATLAS_TUPLE_H_
#define ATLAS_TUPLE_H_

View File

@ -1,10 +1,3 @@
/*
* type_traits.h
*
* Created on: Apr 1, 2013
* Author: vincent
*/
#ifndef ATLAS_TYPE_TRAITS_H_
#define ATLAS_TYPE_TRAITS_H_