Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
ad67edf
keep fixing tests
lums658 Feb 10, 2021
e76ec5f
fixing tests
lums658 Feb 10, 2021
875174c
verify compilation on clang-11
lums-pnnl Feb 10, 2021
77cf7e1
tests, apb, examples, bench compile
lums658 Feb 11, 2021
a2e6dda
clang-format everything
lums658 Feb 11, 2021
c185de6
fix size_test
lums658 Feb 11, 2021
5c612eb
Revert a regression I introduced to the edge_range.
Feb 11, 2021
38d6b5f
fix few remaining tests
lums658 Feb 11, 2021
15c88e9
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 11, 2021
42fc70e
rename triangle_test to tc_test
lums658 Feb 11, 2021
dae1605
add triangular_eg.cpp
lums658 Feb 11, 2021
1e05394
fixed sizing
lums658 Feb 11, 2021
fc42d63
fix tc_test
lums658 Feb 11, 2021
dc708b9
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
6838987
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
49d2246
move tag_invoke to util
lums658 Feb 12, 2021
8a2f473
remove detail/numeric
lums658 Feb 12, 2021
6bb28c7
add csr csc coo convenience aliases
lums658 Feb 12, 2021
81bd053
reorg'd include
lums658 Feb 13, 2021
fc73b5d
reorg
lums658 Feb 13, 2021
bb95d89
reorg
lums658 Feb 13, 2021
b4ec13e
reorg
lums658 Feb 13, 2021
8c4917a
reorg docs
lums658 Feb 13, 2021
b09969c
add some documentation
lums658 Feb 13, 2021
777c981
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
9c46f40
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
a3c553a
update
lums658 Feb 17, 2021
51e6745
update
lums658 Feb 17, 2021
02d65d3
wtf happened
lums658 Feb 17, 2021
b6a985f
add degree_eg.cpp
lums658 Feb 17, 2021
2418c65
add degree cpo
lums658 Feb 17, 2021
cf787d2
add some jaccard implementations
lums658 Feb 17, 2021
cc50a73
jaccard hacking
lums658 Feb 18, 2021
72e90a2
updates small
lums658 Feb 18, 2021
bc310cb
add cmakelists.txt
lums658 Feb 18, 2021
39c87f8
checkpoint
lums658 Feb 19, 2021
f512af8
add zipped view
lums658 Feb 23, 2021
1c20b3e
handoff to clang
lums658 Feb 23, 2021
117c115
handoff back to gcc
lums-pnnl Feb 23, 2021
e13000f
Refactoring.
lums658 Feb 23, 2021
e9fbe47
add license
lums658 Feb 23, 2021
5658f95
fix assertion
lums658 Feb 24, 2021
a3bc71f
fix small cstar_eg
lums-pnnl Feb 24, 2021
3e2ef50
reset default policy in build
lums658 Feb 24, 2021
194cb9b
Merge branch 'pre_release' of github.com:NWmath/NWgr into pre_release
lums658 Feb 24, 2021
a22a4eb
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
63d8c99
small refactoring for compat
lums658 Feb 25, 2021
c308f6b
small refactoring for compat
lums658 Feb 25, 2021
45837b1
libref
lums658 Feb 25, 2021
0258d60
libref
lums658 Feb 25, 2021
348f4b7
Update CMakeLists.txt
lums658 Feb 25, 2021
61ba162
libref
lums658 Feb 25, 2021
c2ec420
add vofos.hpp
lums658 Feb 26, 2021
dc9762f
swap vofos and volos
lums658 Feb 26, 2021
17a3eeb
vof and vol formats
lums658 Feb 26, 2021
9a1edfb
update
lums658 Dec 28, 2020
e7ac8e7
fix conflicts in CMakelists
Mar 19, 2021
a1e115b
soa refactor mildly
lums658 Dec 28, 2020
9ad97bf
soa refactor mildly
lums658 Dec 28, 2020
263fece
refactor, add const_iterators to edge_list and compressed
lums658 Dec 29, 2020
e09b5e7
fix mmfile.hpp conflict
Mar 19, 2021
feb32e5
refactor vertex_id_t
lums658 Dec 29, 2020
00fcca7
remove types.hpp
lums658 Dec 29, 2020
f5ab26d
remove types.hpp
lums658 Dec 29, 2020
2e238ee
Refactored edge_list and compressed in some important ways.
lums658 Dec 29, 2020
50e6ba7
add adjacency.hpp
lums658 Dec 29, 2020
3881529
edge_list compiles and test runs
lums658 Dec 30, 2020
724b80d
adjacency test compiles
lums658 Dec 30, 2020
a334d61
adjacency_test passes
lums658 Dec 30, 2020
bd5886c
adjacency_test passes
lums658 Dec 31, 2020
06ba510
add todo notes, etc.
lums658 Dec 31, 2020
ec4169b
fixup default constructor declarations in edge_list.hpp
lums658 Dec 31, 2020
96dfd4d
clean up test subdir a bit
lums658 Dec 31, 2020
4c675b2
clean up test subdir a bit
lums658 Dec 31, 2020
85b199c
clean up test subdir a bit
lums658 Dec 31, 2020
5e9833b
tc compiles
lums658 Dec 31, 2020
792973e
tc compiles and runs
lums658 Dec 31, 2020
0e7fa26
concepts
lums658 Jan 4, 2021
a00bebc
concepts
lums658 Jan 4, 2021
3a9726e
cc compiles and runs
Jan 4, 2021
c942d94
concepts and traits
lums658 Jan 4, 2021
3779aad
containers_eg compiles
lums658 Jan 4, 2021
8912ea3
containers_eg compiles
lums658 Jan 4, 2021
e8d7c5a
ranges
lums658 Jan 5, 2021
e8a003f
add containers
lums658 Jan 7, 2021
ac1dff3
add containers
lums658 Jan 7, 2021
83c0e9e
rename aolos
lums658 Jan 8, 2021
19a4377
volos_eg and containers_eg
lums658 Jan 9, 2021
03ea82e
volos_eg and containers_eg
lums658 Jan 9, 2021
2a65b37
volos_eg and containers_eg
lums658 Jan 9, 2021
162c89e
gcc-10 build workflow
lums658 Jan 14, 2021
ae32ed6
gcc-10 build workflow
lums658 Jan 14, 2021
0fd2fe8
badge
lums658 Jan 14, 2021
f1aae45
findtbb cmake
lums658 Jan 14, 2021
1a54325
update cmakelists.txt
lums658 Jan 14, 2021
00344ea
make -k
lums658 Jan 14, 2021
70d3e28
Update build_cmake.yml
lums658 Jan 14, 2021
2fe050c
Update build_cmake.yml
lums658 Jan 14, 2021
257f21c
actions update
lums658 Jan 14, 2021
b62b464
actions update
lums658 Jan 14, 2021
60a6d25
actions update
lums658 Jan 14, 2021
a04226e
actions update
lums658 Jan 14, 2021
ce702ba
actions update
lums658 Jan 14, 2021
33d1fc2
actions update
lums658 Jan 14, 2021
d4242e6
actions update
lums658 Jan 14, 2021
d358a25
Update build_cmake.yml
lums658 Jan 14, 2021
ae35ee8
Update build_cmake.yml
lums658 Jan 14, 2021
6091dd2
actions update
lums658 Jan 14, 2021
3ebf3d5
actions update
lums658 Jan 14, 2021
f3bab45
actions update
lums658 Jan 14, 2021
ee99af8
Update build_cmake.yml
lums658 Jan 14, 2021
30e21eb
Update build_cmake.yml
lums658 Jan 14, 2021
f81cfe2
Update build_cmake.yml
lums658 Jan 14, 2021
c01e620
Update build_cmake.yml
lums658 Jan 14, 2021
11add5e
Update build_cmake.yml
lums658 Jan 14, 2021
03d86e1
Update build_cmake.yml
lums658 Jan 14, 2021
1ecca69
Update build_cmake.yml
lums658 Jan 14, 2021
96ee6b3
Update build_cmake.yml
lums658 Jan 14, 2021
831537f
actions update
lums658 Jan 14, 2021
565dbf7
actions update
lums658 Jan 14, 2021
ba257ed
Update matrix_test.yml
lums658 Jan 14, 2021
9771cae
Update matrix_test.yml
lums658 Jan 14, 2021
c3f5e02
Update matrix_test.yml
lums658 Jan 14, 2021
0a0811c
Update matrix_test.yml
lums658 Jan 14, 2021
4d857cc
Update matrix_test.yml
lums658 Jan 14, 2021
1529fc0
Update README.md
lums658 Jan 14, 2021
a60f59c
actions update
lums658 Jan 14, 2021
4639a8f
actions update
lums658 Jan 14, 2021
58578ab
actions update
lums658 Jan 14, 2021
1fadba4
actions update
lums658 Jan 14, 2021
e9bd232
actions update
lums658 Jan 14, 2021
2e3969d
actions update
lums658 Jan 14, 2021
75fffa8
actions update
lums658 Jan 14, 2021
dc60a08
actions update
lums658 Jan 14, 2021
fd1d3f2
update
lums658 Jan 29, 2021
5b67cd8
add jaccard.hpp
lums658 Jan 29, 2021
f126a73
add k_truss
lums658 Jan 29, 2021
2e0cdc0
add k_truss
lums658 Jan 29, 2021
935fa38
doc touch up
lums658 Jan 29, 2021
79cd331
add prim and mv spanning_tree to kruskal
lums658 Jan 29, 2021
d2ed489
fix
lums658 Jan 30, 2021
e645682
add proxy_sort_test.cpp
lums658 Jan 30, 2021
a85e8ae
fix fill
lums658 Jan 30, 2021
aa7133a
update benchmarks
lums658 Jan 30, 2021
186ca77
update benchmarks
lums658 Jan 30, 2021
0254117
vertex_id_t -> vertex_id_type
lums658 Jan 30, 2021
5e3237e
volos_test.exe compiles
lums658 Jan 30, 2021
5de154f
more tests and egs pass
lums658 Jan 30, 2021
c9d3931
more tests and egs pass
lums658 Jan 30, 2021
a9097d7
more tests and egs pass
lums658 Jan 30, 2021
a206e13
more tests and egs pass
lums658 Jan 30, 2021
269316e
more tests and egs pass
lums658 Jan 30, 2021
28adbe4
graph&& -> const graph&
lums658 Jan 30, 2021
c01caa8
graph&& -> const graph&
lums658 Jan 30, 2021
d724748
graph&& -> const graph&
lums658 Jan 30, 2021
3e6685b
so much fun with const
lums658 Jan 31, 2021
c8c958d
const has defeated me yet again
lums658 Jan 31, 2021
eee9826
bc
lums658 Feb 1, 2021
e3aba6b
bc
lums658 Feb 1, 2021
3356720
Update the atomic layer for C++20.
Feb 1, 2021
3a4885f
Add missing `typename` required by clang.
Feb 1, 2021
2ce502e
Simplify some of the iterators for C++20.
Feb 1, 2021
97f0ba5
fix conflicts in bc.hpp
Mar 19, 2021
7215664
Add missing namespace to ProcessEdgeList.
Feb 1, 2021
9df3d2e
Small nit in a requires declaration.
Feb 1, 2021
4606a0d
More small nits in requires declarations.
Feb 1, 2021
c4482d8
Add the basic arrow proxy pattern for use in our iterators.
Feb 1, 2021
8bc1946
Use the arrow proxy in the compressed outer iterator.
Feb 1, 2021
b06497b
Update the soa iterator to handle iterator->const_iterator conversion…
Feb 1, 2021
2c80ab4
Fix the outer_iterator constructor.
Feb 1, 2021
4b230cd
Style nits on the edge_range.
Feb 1, 2021
7e3baa9
all benchmarks compile woohoo
lums658 Feb 1, 2021
09a1ffd
const tc 12
lums658 Feb 1, 2021
dc74c5e
fix cyclic template arg deduction
lums658 Feb 1, 2021
b5b4a7a
Switch to depending on NWut via a cmake FetchContent call.
Feb 2, 2021
55c65dc
Add an example of FetchContent with a local .zip source file.
Feb 2, 2021
9c9693d
Add sketch for fetching tbb if it's not found.
Feb 2, 2021
8728b7e
Add a broken but nascent install target.
Feb 2, 2021
885c02f
add access.hpp
lums658 Feb 5, 2021
c625b5f
add access
lums658 Feb 5, 2021
bd8a0c8
concepts working with tag_invoke w00t\!
lums658 Feb 5, 2021
29d5d2f
benchmarks working with tag_invoke w00t\!
lums658 Feb 5, 2021
006a8e8
check
lums658 Feb 9, 2021
7dd1e44
add edge_range_eg.cpp
lums658 Feb 9, 2021
d49142c
add edge_range_eg.cpp
lums658 Feb 9, 2021
3a9776b
Fix an edge_range reference type regression.
Feb 9, 2021
4d0066a
fixing tests
lums658 Feb 10, 2021
e978a69
fixing tests
lums658 Feb 10, 2021
6683eac
Resolve bug in the edge_range_eg.exe test code.
Feb 10, 2021
3301062
keep fixing tests
lums658 Feb 10, 2021
d32fb35
fixing tests
lums658 Feb 10, 2021
1a36853
verify compilation on clang-11
lums-pnnl Feb 10, 2021
efc9de9
tests, apb, examples, bench compile
lums658 Feb 11, 2021
d4b6413
clang-format everything
lums658 Feb 11, 2021
18e32d7
fix size_test
lums658 Feb 11, 2021
11af3d0
fix few remaining tests
lums658 Feb 11, 2021
aa52bd1
Revert a regression I introduced to the edge_range.
Feb 11, 2021
15296df
rename triangle_test to tc_test
lums658 Feb 11, 2021
46240c4
add triangular_eg.cpp
lums658 Feb 11, 2021
d61cbb2
fixed sizing
lums658 Feb 11, 2021
610a4a4
fix tc_test
lums658 Feb 11, 2021
2abeecc
fix mmio to subtract one from mm indices
lums658 Feb 11, 2021
5c81f5b
update bfs test cases by fix bottomup bfs range
Feb 11, 2021
cc2eb6b
move tag_invoke to util
lums658 Feb 12, 2021
afd9f5e
remove detail/numeric
lums658 Feb 12, 2021
403213f
add csr csc coo convenience aliases
lums658 Feb 12, 2021
ce0fc61
rename bc.hpp and mmfile.hpp
Mar 19, 2021
d90c275
reorg
lums658 Feb 13, 2021
ec82ae1
reorg
lums658 Feb 13, 2021
e5cad4d
reorg
lums658 Feb 13, 2021
7e2cb0b
reorg docs
lums658 Feb 13, 2021
bb01dc9
add some documentation
lums658 Feb 13, 2021
66be43d
small optimization to fill -- permute -- so we don't modify incoming …
lums658 Feb 15, 2021
5b0860d
hack tc.cpp for different formats and json logging
lums658 Feb 16, 2021
b656981
update
lums658 Feb 17, 2021
72ff554
update
lums658 Feb 17, 2021
b2d5137
wtf happened
lums658 Feb 17, 2021
7128d8d
add degree_eg.cpp
lums658 Feb 17, 2021
2374c31
add degree cpo
lums658 Feb 17, 2021
894691b
add some jaccard implementations
lums658 Feb 17, 2021
1837d87
jaccard hacking
lums658 Feb 18, 2021
f47f7e8
updates small
lums658 Feb 18, 2021
98135ff
add cmakelists.txt
lums658 Feb 18, 2021
87a2e1b
checkpoint
lums658 Feb 19, 2021
82cb309
add zipped view
lums658 Feb 23, 2021
62d08b2
handoff to clang
lums658 Feb 23, 2021
c917a55
handoff back to gcc
lums-pnnl Feb 23, 2021
d73ae98
Refactoring.
lums658 Feb 23, 2021
092fc53
add license
lums658 Feb 23, 2021
eb43a37
fix assertion
lums658 Feb 24, 2021
6d6f413
reset default policy in build
lums658 Feb 24, 2021
e9bb9de
fix small cstar_eg
lums-pnnl Feb 24, 2021
e4143db
add compat.hpp and tuple_hack.hpp
lums658 Feb 25, 2021
ddb3db6
small refactoring for compat
lums658 Feb 25, 2021
32dcf62
small refactoring for compat
lums658 Feb 25, 2021
bd0fd95
libref
lums658 Feb 25, 2021
6bc30c4
libref
lums658 Feb 25, 2021
d8a242a
libref
lums658 Feb 25, 2021
e5e10a7
add vofos.hpp
lums658 Feb 26, 2021
807df5b
swap vofos and volos
lums658 Feb 26, 2021
d81d389
vof and vol formats
lums658 Feb 26, 2021
2fe33ee
fix conflicts in cmakelists
Mar 19, 2021
cd83be7
Merge pull request #3 from NWmath/pre_release
tonythomascn Mar 19, 2021
50f5c70
update catch2 version to support Apple M1 on Big Sur
Mar 12, 2021
9955510
Try updating the CI
krzysz00 Apr 5, 2021
31d8a3c
Actually run the updated CI
krzysz00 Apr 5, 2021
de7e112
Maybe run the tests for real
krzysz00 Apr 5, 2021
7a493c4
Try to avoid running dependencies' tests
krzysz00 Apr 5, 2021
87430b8
Update names
krzysz00 Apr 5, 2021
58e5f99
The release type was correct all along - change ti back
krzysz00 Apr 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .github/workflows/build_cmake.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
# Workflow to configure with cmake and build with gcc-10

name: Build and test with gcc-10

on:
push:
branches: [ master, pre_release, update_ci ]
workflow_dispatch:
branches: [ master, pre_release, update_ci ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

runs-on: ubuntu-20.04

steps:

- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: prep
run: |
sudo apt-get install -y libtbb2 libtbb-dev nlohmann-json3-dev

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_C_COMPILER=gcc-10

- name: make
run: |
cd NWgr/build
make

- name: test
run: |
cd NWgr/build
make test


81 changes: 81 additions & 0 deletions .github/workflows/matrix_test.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
# Workflow to test matrix builds

name: Build matrix

on:
push:
branches: [ master, pre_release ]
workflow_dispatch:
branches: [ master, pre_release ]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:

strategy:
matrix:
compiler: [ 'g++-10', 'clang++-11' ]
os: [ 'macos-10.15', 'macos-11.0', 'ubuntu-20.04' ]
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- name: Checkout NWgr
uses: actions/checkout@v2
with:
path: NWgr

- name: Checkout NWut
uses: actions/checkout@v2
with:
repository: NWmath/NWut
token: ${{ secrets.PULL_FROM_NWMATH }}
ref: master
path: NWut

- name: apt update
run: |
sudo apt-get update
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Ubuntu)
run: |
sudo apt-get install -y libtbb2 libtbb-dev
if: matrix.os == 'ubuntu-20.04'

- name: install tbb (Mac)
run: |
brew install tbb
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0'

- name: setup gcc (Ubuntu)
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
if: matrix.os == 'ubuntu-20.04' && 'matrix.compiler == g++-10'

- name: setup clang (Ubuntu)
run: |
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 110
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 110
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 110
if: matrix.os == 'ubuntu-20.04' && matrix.compiler == 'clang++-11'

- name: cmake
run: |
cd NWgr
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

- name: make
run: |
cd NWgr/build
# make -k
1 change: 1 addition & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -40,6 +40,7 @@ CMakeCache.txt
attic
basement
build
build.docker

.DS_Store
__pycache__
Expand Down
28 changes: 12 additions & 16 deletions CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,7 @@
# cmake .. -DCMAKE_CXX_COMPILER=icpx
#
##########################################################################
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 3.18.2 FATAL_ERROR)

set(NW_GRAPH_VERSION 0.3)

Expand All@@ -26,16 +26,15 @@ project(
# -----------------------------------------------------------------------------
# Extend the module path so we can find our custom modules
# -----------------------------------------------------------------------------
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../NWut/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# -----------------------------------------------------------------------------
# Build types and default flags
# -----------------------------------------------------------------------------
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-elide-constructors -fsanitize=address " CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -g -march=native" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -march=native -DNDEBUG" CACHE STRING "" FORCE)

# Default to Release build
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
Expand All@@ -46,12 +45,7 @@ endif()
# Control compiler-specific flags.
include(CompilerFlags)

# -----------------------------------------------------------------------------
# Select a C++ standard
# -----------------------------------------------------------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
##

# -----------------------------------------------------------------------------
# Options
Expand All@@ -62,16 +56,15 @@ if (NW_GRAPH_SANITIZE)
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${NW_GRAPH_SANITIZE}")
endif (NW_GRAPH_SANITIZE)

option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." OFF)
option(NW_GRAPH_BUILD_TESTS "Determines whether to build tests." ON)
option(NW_GRAPH_BUILD_APBS "Determines whether to build abstraction penalty benchmarks." ON)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." OFF)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." OFF)
option(NW_GRAPH_BUILD_BENCH "Determines whether to build performance benchmarks." ON)
option(NW_GRAPH_BUILD_EXAMPLES "Determines whether to build examples." ON)
option(NW_GRAPH_USE_TBBMALLOC "Link to tbbmalloc" OFF)

add_subdirectory(include)

include(Docopt)
include(RangeV3)

if (NW_GRAPH_BUILD_TESTS)
include(CTest)
Expand All@@ -95,3 +88,6 @@ option(NW_GRAPH_BUILD_HPEC "Determines whether to build HPEC artifact." OFF)
if (NW_GRAPH_BUILD_HPEC)
add_subdirectory(${CMAKE_SOURCE_DIR}/../Artifacts/hpec hpec)
endif()

# https://cmake.org/cmake/help/latest/command/install.html
install(TARGETS nw_graph)
3 changes: 3 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
![Build with gcc-10](https://github.com/NWmath/NWgr/workflows/Build%20with%20gcc-10/badge.svg)
![Build matrix](https://github.com/NWmath/NWgr/workflows/Build%20matrix/badge.svg)

# NWgraph
Graph algorithms and data structures
Loading