Edge Duplication Changes
This commit is contained in:
parent
83687f097c
commit
1b37359beb
@ -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"
|
||||
|
||||
BIN
build/ag_gen
BIN
build/ag_gen
Binary file not shown.
@ -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"
|
||||
}
|
||||
]
|
||||
@ -8,6 +8,7 @@ DBNAME=${4:-tmp}
|
||||
NUM_THREADS=${5:-1}
|
||||
NODES=${6:-2}
|
||||
MPI_TYPE=${7-subgraphing}
|
||||
#MPI_TYPE=${7:-serial}
|
||||
|
||||
ITFC="eth0"
|
||||
|
||||
|
||||
10394
build/states.txt
10394
build/states.txt
File diff suppressed because it is too large
Load Diff
@ -335,7 +335,7 @@ double mem_threshold, mpi::communicator &world)
|
||||
struct timeval t21,t22;
|
||||
gettimeofday(&t21,NULL);
|
||||
task_two(instance, alloc, two_alloc, world, localFrontier, mem_threshold,\
|
||||
ttwo_comm, ex_groups, hash_map);
|
||||
ttwo_comm, ex_groups, hash_map, edge_map);
|
||||
|
||||
//Wait for all Task 2 nodes to finish
|
||||
while(ttwo_comm.iprobe(mpi::any_source, 3) || ttwo_comm.iprobe(mpi::any_source, 4)){
|
||||
@ -426,7 +426,7 @@ double mem_threshold, mpi::communicator &world)
|
||||
struct timeval t31,t32;
|
||||
gettimeofday(&t31,NULL);
|
||||
task_three(instance, critical_state, localFrontier, mem_threshold, world,\
|
||||
alloc, two_alloc, current_state, exploit, assetGroup, hash_map, last_known_id);
|
||||
alloc, two_alloc, current_state, exploit, assetGroup, hash_map, last_known_id, edge_map);
|
||||
gettimeofday(&t32,NULL);
|
||||
total_task3+=(t32.tv_sec-t31.tv_sec)*1000.0+(t32.tv_usec-t31.tv_usec)/1000.0;
|
||||
}
|
||||
@ -568,7 +568,7 @@ double mem_threshold, mpi::communicator &world)
|
||||
std::cout << "Average Task 4 time: " << total_task4/task4_count << "ms" << std::endl;
|
||||
std::cout << "Average Task 5 time: " << total_task5/task5_count << "ms" << std::endl;
|
||||
|
||||
edge_adjustment(instance, hash_map);
|
||||
//edge_adjustment(instance, hash_map);
|
||||
}
|
||||
|
||||
std::chrono::duration<double> elapsed_seconds = end - start;
|
||||
@ -607,7 +607,7 @@ int initQSize, double mem_threshold, mpi::communicator &world)
|
||||
bool save_queued = false;
|
||||
|
||||
if(world.rank() == 0)
|
||||
std::cout << "Generating Attack Graph" << std::endl;
|
||||
std::cout << "Generating Attack Graph through the OMP/Serial Approach" << std::endl;
|
||||
|
||||
std::unordered_map<size_t, PermSet<size_t>> od_map;
|
||||
size_t assets_size = instance.assets.size();
|
||||
@ -730,13 +730,13 @@ int initQSize, double mem_threshold, mpi::communicator &world)
|
||||
frontier.emplace_front(new_state);
|
||||
Edge ed(current_state.get_id(), new_state.get_id(), exploit, assetGroup);
|
||||
ed.set_id();
|
||||
instance.edges.push_back(ed);
|
||||
edge_adjustment(instance, hash_map, edge_map, 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);
|
||||
edge_adjustment(instance, hash_map, edge_map, ed);
|
||||
}
|
||||
} //for loop for new states ends
|
||||
} //while ends
|
||||
@ -993,7 +993,7 @@ int initQSize, double mem_threshold, mpi::communicator &world)
|
||||
}
|
||||
|
||||
if (i_alpha >= mem_threshold/2){
|
||||
edge_adjustment(instance, hash_map);
|
||||
//edge_adjustment(instance, hash_map);
|
||||
save_ag_to_db(instance, true);
|
||||
|
||||
//Clear vectors and free memory
|
||||
@ -1125,7 +1125,6 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
int last_known_id = 0;
|
||||
//Send new Network State to all worker nodes, if we have enough unex states to do so
|
||||
if(world.rank() == 0){
|
||||
//2 offset for root node and db node
|
||||
for (int w = 0; w < std::min((int)world.size(), (int)localFrontier.size()); w++){
|
||||
//last_known_id = localFrontier.front().get_id();
|
||||
if(world.size() > 1 && w == 0){
|
||||
@ -1157,6 +1156,8 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
//Worker Nodes
|
||||
if (world.rank() > 1 || world.size() == 1 || (world.size() == 2 && world.rank() == 1)){
|
||||
|
||||
world.probe(0, mpi::any_tag);
|
||||
|
||||
//Check for finished signal
|
||||
if(world.iprobe(0, 99)){
|
||||
break;
|
||||
@ -1171,7 +1172,7 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
std::vector<FactbaseItems>().swap(instance.factbase_items);
|
||||
|
||||
NetworkState current_state;
|
||||
current_state.reset_curr_id();
|
||||
//current_state.reset_curr_id();
|
||||
world.recv(0, 1, current_state);
|
||||
state_count = 0;
|
||||
send_msg = 1;
|
||||
@ -1276,6 +1277,7 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
//TODO: Does not work if only some assets belong to a group. This only works if
|
||||
//all assets are in the group
|
||||
if(sync_exploits.size() < instance.assets.size()){
|
||||
state_count++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -1326,8 +1328,10 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
|
||||
auto hash_num = new_state.get_hash(instance.facts);
|
||||
|
||||
if (hash_num == current_hash)
|
||||
if (hash_num == current_hash){
|
||||
state_count++;
|
||||
continue;
|
||||
}
|
||||
|
||||
#pragma omp critical
|
||||
//although local frontier is updated, the global hash is also updated to avoid testing on explored states.
|
||||
@ -1386,6 +1390,8 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
|
||||
//Database Node
|
||||
if (world.rank() == 1 || world.size() == 1){
|
||||
|
||||
world.probe(0, mpi::any_tag);
|
||||
//Check for finished signal, assuming we have no more storage requests
|
||||
if(world.iprobe(0, 99) && !world.iprobe(0,7) && !world.iprobe(0,8)){
|
||||
break;
|
||||
@ -1434,7 +1440,8 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
world.recv(w, 11, node_edges[w]);
|
||||
}
|
||||
if(!node_factbases[w].empty() || !node_edges[w].empty()){
|
||||
state_merge(node_factbases[w], node_edges[w], hash_map, instance, mem_threshold, world);
|
||||
state_merge(node_factbases[w], node_edges[w], hash_map, instance, mem_threshold,\
|
||||
world, edge_map);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1448,19 +1455,6 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Check for Hash Table updates
|
||||
while(world.iprobe(mpi::any_source, 5) || world.iprobe(mpi::any_source, 6)){
|
||||
NetworkState update_state;
|
||||
Quality update_fact;
|
||||
|
||||
world.recv(mpi::any_source, 5, update_state);
|
||||
world.recv(mpi::any_source, 6, 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));
|
||||
}
|
||||
|
||||
//Check for factbases or nodes, and add them to our network
|
||||
while(world.iprobe(mpi::any_source, 10) || world.iprobe(mpi::any_source, 11)){
|
||||
@ -1472,7 +1466,8 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
world.recv(w, 11, node_edges[w]);
|
||||
}
|
||||
if(!node_factbases[w].empty() || !node_edges[w].empty()){
|
||||
state_merge(node_factbases[w], node_edges[w], hash_map, instance, mem_threshold, world);
|
||||
state_merge(node_factbases[w], node_edges[w], hash_map, instance, mem_threshold,\
|
||||
world, edge_map);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1546,7 +1541,7 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
while(proceed == 0 && !localFrontier.empty()){
|
||||
if(deque_marker[w] >= localFrontier.size()){
|
||||
if(localFrontier.empty()){
|
||||
deque_marker[w] = 0;
|
||||
//deque_marker[w] = 0;
|
||||
break;
|
||||
}
|
||||
deque_marker[w] = localFrontier.size()-1;
|
||||
@ -1597,6 +1592,8 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
finished_signal = 1;
|
||||
}
|
||||
} //end world rank 0
|
||||
|
||||
|
||||
} // end main work loop
|
||||
|
||||
//Tell all nodes to finish
|
||||
@ -1611,7 +1608,6 @@ int initQSize, double mem_threshold, mpi::communicator &world, int state_limit)
|
||||
gettimeofday(&t2,NULL);
|
||||
total_t+=(t2.tv_sec-t1.tv_sec)*1000.0+(t2.tv_usec-t1.tv_usec)/1000.0;
|
||||
printf("AG TOOK %lf ms.\n", total_t);
|
||||
edge_adjustment(instance, hash_map);
|
||||
auto end = std::chrono::system_clock::now();
|
||||
|
||||
std::chrono::duration<double> elapsed_seconds = end - start;
|
||||
|
||||
@ -76,6 +76,7 @@ class AGGen {
|
||||
AGGenInstance instance;
|
||||
std::deque<NetworkState> frontier; //!< Unexplored states
|
||||
std::unordered_map<size_t, int> hash_map{}; //!< Map of hashes to Factbase ID
|
||||
std::unordered_map<size_t, int> edge_map{}; //!< Map of hashes to Edge ID
|
||||
|
||||
bool use_redis;
|
||||
#ifdef REDIS
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
|
||||
#include "edge.h"
|
||||
#include "../util/db.h"
|
||||
#include <boost/functional/hash.hpp>
|
||||
|
||||
/**
|
||||
* @brief Constructor for Edge
|
||||
@ -131,3 +132,15 @@ void Edge::force_set_id(int i)
|
||||
{
|
||||
id = i;
|
||||
}
|
||||
|
||||
size_t Edge::hash(){
|
||||
// size_t hash = 0xf848b64e; // Random seed value
|
||||
// size_t seed = 0x0c32a12fe19d2119;
|
||||
size_t seed = 0;
|
||||
|
||||
boost::hash_combine(seed, get_exploit_id());
|
||||
boost::hash_combine(seed, get_from_id());
|
||||
boost::hash_combine(seed, get_to_id());
|
||||
|
||||
return seed;
|
||||
}
|
||||
|
||||
@ -64,6 +64,7 @@ class Edge {
|
||||
bool comparator(Edge& ed2);
|
||||
bool operator==(const Edge& ed2);
|
||||
void force_set_id(int i);
|
||||
size_t hash();
|
||||
};
|
||||
|
||||
#endif // AG_GEN_EDGE_H
|
||||
|
||||
@ -716,9 +716,8 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
std::cout << "Total Edges: " << get_num_edges() << std::endl;
|
||||
std::cout << "Total Time: " << postinstance.elapsed_seconds.count() << " seconds\n";
|
||||
//std::cout << "Total States: " << postinstance.factbases.size() << "\n";
|
||||
std::cout << "Total States: " << get_num_states() << std::endl;
|
||||
std::cout << "Duplicated States that had to be removed: " << postinstance.duplicates << std::endl;
|
||||
std::cout << "Duplicated States that had to be removed: " << postinstance.duplicates << std::endl;
|
||||
std::cout << "Saving Attack Graph to Database: " << std::flush;
|
||||
std::cout << "Done\n";
|
||||
|
||||
|
||||
@ -191,7 +191,7 @@ void task_one(AGGenInstance &instance, NetworkState ¤t_state,\
|
||||
|
||||
void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::communicator &world,\
|
||||
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::vector<std::string> ex_groups, std::unordered_map<size_t, int> &hash_map, std::unordered_map<size_t, int> &edge_map){
|
||||
|
||||
NetworkState current_state;
|
||||
std::vector<std::tuple<Exploit, AssetGroup>> appl_exploits;
|
||||
@ -321,35 +321,6 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
|
||||
break;
|
||||
case UPDATE_T:
|
||||
new_state.update_quality(fact);
|
||||
|
||||
/*
|
||||
//TODO: if fact!= "="" call new_state function, passing fact and instance.facts. Update the quality, and insert it into the hash_table instead of this convoluted mess
|
||||
if(fact.get_op()=="+="){
|
||||
|
||||
std::unordered_map<std::string,int>::const_iterator got = instance.facts.hash_table.find(new_state.compound_assign(fact));
|
||||
|
||||
//If the value is not already in the hash_table, insert it.
|
||||
//Since the compound operators include a value that is not in the original Keyvalue object, the unordered map does not include it
|
||||
//As a result, you have to manually add it.
|
||||
if(got==instance.facts.hash_table.end()){
|
||||
instance.facts.hash_table[new_state.compound_assign(fact)]=instance.facts.size();
|
||||
instance.facts.length++;
|
||||
instance.facts.str_vector.push_back(new_state.compound_assign(fact));
|
||||
//Update ALL nodes (include ttwo_comm nodes) with new data
|
||||
|
||||
for (int w = 0; w < world.size(); w++)
|
||||
{
|
||||
if(w != world.rank())
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
break;
|
||||
case DELETE_T:
|
||||
new_state.delete_quality(fact);
|
||||
@ -401,7 +372,7 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
|
||||
if(get_num_states() > 1)
|
||||
last_known_id += get_num_states()-1;
|
||||
task_three(instance, new_state, localFrontier, mem_threshold, world,\
|
||||
alloc, two_alloc, current_state, exploit, assetGroup, hash_map, last_known_id);
|
||||
alloc, two_alloc, current_state, exploit, assetGroup, hash_map, last_known_id, edge_map);
|
||||
}
|
||||
}
|
||||
else{
|
||||
@ -412,7 +383,8 @@ void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::com
|
||||
|
||||
void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<NetworkState> &localFrontier,\
|
||||
double mem_threshold, boost::mpi::communicator &world, int alloc, int two_alloc, NetworkState ¤t_state,\
|
||||
Exploit &exploit, AssetGroup &assetGroup, std::unordered_map<size_t, int> &hash_map, int last_known_id){
|
||||
Exploit &exploit, AssetGroup &assetGroup, std::unordered_map<size_t, int> &hash_map, int last_known_id,\
|
||||
std::unordered_map<size_t, int> &edge_map){
|
||||
|
||||
auto hash_num = new_state.get_hash(instance.facts);
|
||||
|
||||
@ -466,7 +438,6 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
|
||||
|
||||
if (i_alpha >= mem_threshold/2){
|
||||
mpi::request fb_req = world.isend(send_check(world, alloc+two_alloc), 7, instance.factbases);
|
||||
edge_adjustment(instance, hash_map);
|
||||
mpi::request ed_req = world.isend(send_check(world, alloc+two_alloc), 8, instance.edges);
|
||||
//save_ag_to_db(instance, true);
|
||||
fb_req.wait();
|
||||
@ -485,7 +456,7 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
|
||||
//Edge ed(current_state.get_id(), new_state.get_id(), exploit, assetGroup);
|
||||
Edge ed(current_state.get_hash(instance.facts), new_state.get_hash(instance.facts), exploit, assetGroup);
|
||||
ed.set_id();
|
||||
instance.edges.push_back(ed);
|
||||
edge_adjustment(instance, hash_map, edge_map, ed);
|
||||
} //END if (hash_map.find(hash_num) == hash_map.end())
|
||||
|
||||
else{
|
||||
@ -493,7 +464,7 @@ void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<Net
|
||||
//Edge ed(current_state.get_id(), id, exploit, assetGroup);
|
||||
Edge ed(current_state.get_hash(instance.facts), hash_num, exploit, assetGroup);
|
||||
ed.set_id();
|
||||
instance.edges.push_back(ed);
|
||||
edge_adjustment(instance, hash_map, edge_map, ed);
|
||||
}
|
||||
}
|
||||
|
||||
@ -507,10 +478,11 @@ int send_check(boost::mpi::communicator &world, int curr_node){
|
||||
|
||||
void state_merge(std::vector<Factbase> &node_factbases, std::vector<Edge> &node_edges,\
|
||||
std::unordered_map<size_t, int> &hash_map, AGGenInstance &instance, double mem_threshold,\
|
||||
mpi::communicator &world){
|
||||
mpi::communicator &world, std::unordered_map<size_t, int> &edge_hash){
|
||||
|
||||
auto tot_sys_mem = getTotalSystemMemory();
|
||||
|
||||
//Factbase Merging
|
||||
for(auto &fb : node_factbases){
|
||||
|
||||
auto hash_num = fb.hash(instance.facts);
|
||||
@ -533,7 +505,7 @@ void state_merge(std::vector<Factbase> &node_factbases, std::vector<Edge> &node_
|
||||
double i_usage = instance.factbases.back().get_size() * instance.factbases.size() * 2 + sizeof(instance.edges[0]) * instance.edges.size();
|
||||
|
||||
if (i_alpha >= mem_threshold/2){
|
||||
edge_adjustment(instance, hash_map);
|
||||
//edge_adjustment(instance, hash_map);
|
||||
mpi::request fb_req = world.isend(1, 7, instance.factbases);
|
||||
mpi::request ed_req = world.isend(1, 8, instance.edges);
|
||||
//save_ag_to_db(instance, true);
|
||||
@ -550,22 +522,48 @@ void state_merge(std::vector<Factbase> &node_factbases, std::vector<Edge> &node_
|
||||
i_alpha = i_usage/tot_sys_mem;
|
||||
}
|
||||
}
|
||||
else{
|
||||
instance.duplicates++;
|
||||
}
|
||||
else{
|
||||
instance.duplicates++;
|
||||
}
|
||||
}
|
||||
|
||||
//Note: This does add duplicates. Having one duplicate removal sweep at the end is preferable to duplicate checking
|
||||
//every time we want to push new edges back on the frontier - verified through timing for both small and large networks.
|
||||
instance.edges.insert(std::end(instance.edges), std::begin(node_edges), std::end(node_edges));
|
||||
//Edge Merging
|
||||
int i = instance.edges.size() + get_num_edges();
|
||||
|
||||
// Convert to and from node hashes to Factbase IDs
|
||||
for (auto &ed : node_edges){
|
||||
auto itr = hash_map.find(ed.get_to_id());
|
||||
if(itr != hash_map.end()){
|
||||
auto to_id = std::get<1>(*itr);
|
||||
ed.force_to_id(to_id);
|
||||
}
|
||||
|
||||
auto itr2 = hash_map.find(ed.get_from_id());
|
||||
if(itr2 != hash_map.end()){
|
||||
auto from_id = std::get<1>(*itr2);
|
||||
ed.force_from_id(from_id);
|
||||
}
|
||||
|
||||
auto ed_hash = ed.hash();
|
||||
auto [eitr, inserted] = edge_hash.insert(std::make_pair(ed_hash, ed.get_id()));
|
||||
if (inserted){
|
||||
ed.force_set_id(i);
|
||||
i++;
|
||||
instance.edges.push_back(ed);
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<Edge>().swap(node_edges);
|
||||
}
|
||||
|
||||
//Convert Edge to_hash and from_hash to to_id and from_id
|
||||
void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &hash_map)
|
||||
void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &hash_map,\
|
||||
std::unordered_map<size_t, int> &edge_hash)
|
||||
{
|
||||
|
||||
// 2 Loops: Can't convert hash->ID while simultaneously checking for duplicates
|
||||
int i = instance.edges.size() + get_num_edges();
|
||||
|
||||
// Convert to and from node hashes to Factbase IDs
|
||||
for (auto &ed : instance.edges){
|
||||
auto itr = hash_map.find(ed.get_to_id());
|
||||
if(itr != hash_map.end()){
|
||||
@ -578,31 +576,44 @@ void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &h
|
||||
auto from_id = std::get<1>(*itr2);
|
||||
ed.force_from_id(from_id);
|
||||
}
|
||||
}
|
||||
|
||||
auto ed_hash = ed.hash();
|
||||
auto [eitr, inserted] = edge_hash.insert(std::make_pair(ed_hash, ed.get_id()));
|
||||
if (inserted){
|
||||
ed.force_set_id(i);
|
||||
i++;
|
||||
instance.edges.push_back(ed);
|
||||
}
|
||||
}
|
||||
//Remove duplicates
|
||||
//Poor Approach, but functional. Examine replacing instance.edges with a set instead of a vector
|
||||
|
||||
//Tmp Vector
|
||||
std::vector<Edge> clean;
|
||||
int i = instance.edges.size() + get_num_edges();
|
||||
for(auto itr = instance.edges.begin(); itr != instance.edges.end();){
|
||||
int seen = 0;
|
||||
for(auto eitr = clean.begin(); eitr != clean.end(); eitr++){
|
||||
if((*eitr).operator==(*itr)){
|
||||
seen = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(seen == 1){
|
||||
//Remove duplicate
|
||||
itr = instance.edges.erase(itr);
|
||||
}
|
||||
else{
|
||||
clean.push_back(*itr);
|
||||
(*itr).force_set_id(i);
|
||||
i++;
|
||||
itr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Convert Edge to_hash and from_hash to to_id and from_id
|
||||
void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &hash_map,\
|
||||
std::unordered_map<size_t, int> &edge_hash, Edge ed)
|
||||
{
|
||||
|
||||
int i = instance.edges.size() + get_num_edges();
|
||||
|
||||
// Convert to and from node hashes to Factbase IDs
|
||||
auto itr = hash_map.find(ed.get_to_id());
|
||||
if(itr != hash_map.end()){
|
||||
auto to_id = std::get<1>(*itr);
|
||||
ed.force_to_id(to_id);
|
||||
}
|
||||
|
||||
auto itr2 = hash_map.find(ed.get_from_id());
|
||||
if(itr2 != hash_map.end()){
|
||||
auto from_id = std::get<1>(*itr2);
|
||||
ed.force_from_id(from_id);
|
||||
}
|
||||
|
||||
auto ed_hash = ed.hash();
|
||||
auto [eitr, inserted] = edge_hash.insert(std::make_pair(ed_hash, ed.get_id()));
|
||||
if (inserted){
|
||||
ed.force_set_id(i);
|
||||
i++;
|
||||
instance.edges.push_back(ed);
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,11 +13,13 @@ void task_one(AGGenInstance &instance, NetworkState ¤t_state,\
|
||||
|
||||
void task_two(AGGenInstance &instance, int alloc, int two_alloc, boost::mpi::communicator &world,\
|
||||
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::vector<std::string> ex_groups, std::unordered_map<size_t, int> &hash_map,\
|
||||
std::unordered_map<size_t, int> &edge_map);
|
||||
|
||||
void task_three(AGGenInstance &instance, NetworkState &new_state, std::deque<NetworkState> &localFrontier,\
|
||||
double mem_threshold, boost::mpi::communicator &world, int alloc, int two_alloc, NetworkState ¤t_state,\
|
||||
Exploit &exploit, AssetGroup &assetGroup, std::unordered_map<size_t, int> &hash_map, int last_known_id);
|
||||
Exploit &exploit, AssetGroup &assetGroup, std::unordered_map<size_t, int> &hash_map, int last_known_id,\
|
||||
std::unordered_map<size_t, int> &edge_map);
|
||||
|
||||
void task_four(NetworkState &new_state);
|
||||
|
||||
@ -25,8 +27,9 @@ int send_check(boost::mpi::communicator &world, int curr_node);
|
||||
|
||||
void state_merge(std::vector<Factbase> &node_factbases, std::vector<Edge> &node_edges,\
|
||||
std::unordered_map<size_t, int> &hash_map, AGGenInstance &instance, double mem_threshold,\
|
||||
mpi::communicator &world);
|
||||
mpi::communicator &world, std::unordered_map<size_t, int> &edge_hash);
|
||||
|
||||
void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &hash_map);
|
||||
void edge_adjustment(AGGenInstance &instance, std::unordered_map<size_t, int> &hash_map,\
|
||||
std::unordered_map<size_t, int> &edge_hash, Edge ed);
|
||||
|
||||
#endif //TASKS_H
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user