Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dgl
Commits
32dc1af6
Unverified
Commit
32dc1af6
authored
Dec 14, 2022
by
Rhett Ying
Committed by
GitHub
Dec 14, 2022
Browse files
[Dist] generate partition meta for ParMETIS pipeline (#5020)
* [Dist] generate partition meta for ParMETIS
parent
f4f9abc8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
0 deletions
+17
-0
tests/tools/test_parmetis.py
tests/tools/test_parmetis.py
+8
-0
tools/distpartitioning/parmetis_postprocess.py
tools/distpartitioning/parmetis_postprocess.py
+9
-0
No files found.
tests/tools/test_parmetis.py
View file @
32dc1af6
...
@@ -12,6 +12,7 @@ from chunk_graph import chunk_graph
...
@@ -12,6 +12,7 @@ from chunk_graph import chunk_graph
from
dgl.data.utils
import
load_graphs
,
load_tensors
from
dgl.data.utils
import
load_graphs
,
load_tensors
from
create_chunked_dataset
import
create_chunked_dataset
from
create_chunked_dataset
import
create_chunked_dataset
from
partition_algo.base
import
load_partition_meta
"""
"""
TODO: skipping this test case since the dependency, mpirun, is
TODO: skipping this test case since the dependency, mpirun, is
...
@@ -162,6 +163,13 @@ def test_parmetis_postprocessing():
...
@@ -162,6 +163,13 @@ def test_parmetis_postprocessing():
assert
np
.
min
(
part_ids
)
==
0
assert
np
.
min
(
part_ids
)
==
0
assert
np
.
max
(
part_ids
)
==
1
assert
np
.
max
(
part_ids
)
==
1
# check partition meta file
part_meta_file
=
os
.
path
.
join
(
results_dir
,
"partition_meta.json"
)
assert
os
.
path
.
isfile
(
part_meta_file
)
part_meta
=
load_partition_meta
(
part_meta_file
)
assert
part_meta
.
num_parts
==
2
assert
part_meta
.
algo_name
==
"metis"
"""
"""
TODO: skipping this test case since it depends on the dependency, mpi,
TODO: skipping this test case since it depends on the dependency, mpi,
...
...
tools/distpartitioning/parmetis_postprocess.py
View file @
32dc1af6
...
@@ -11,6 +11,7 @@ import pyarrow.csv as csv
...
@@ -11,6 +11,7 @@ import pyarrow.csv as csv
import
constants
import
constants
from
utils
import
get_idranges
,
get_node_types
,
read_json
from
utils
import
get_idranges
,
get_node_types
,
read_json
from
partition_algo.base
import
PartitionMeta
,
dump_partition_meta
def
post_process
(
params
):
def
post_process
(
params
):
...
@@ -39,6 +40,7 @@ def post_process(params):
...
@@ -39,6 +40,7 @@ def post_process(params):
)
)
global_nids
=
metis_df
[
"f0"
].
to_numpy
()
global_nids
=
metis_df
[
"f0"
].
to_numpy
()
partition_ids
=
metis_df
[
"f1"
].
to_numpy
()
partition_ids
=
metis_df
[
"f1"
].
to_numpy
()
num_parts
=
np
.
unique
(
partition_ids
).
size
sort_idx
=
np
.
argsort
(
global_nids
)
sort_idx
=
np
.
argsort
(
global_nids
)
global_nids
=
global_nids
[
sort_idx
]
global_nids
=
global_nids
[
sort_idx
]
...
@@ -66,6 +68,13 @@ def post_process(params):
...
@@ -66,6 +68,13 @@ def post_process(params):
options
,
options
,
)
)
logging
.
info
(
f
"Generated
{
out_file
}
"
)
logging
.
info
(
f
"Generated
{
out_file
}
"
)
# generate partition meta file.
part_meta
=
PartitionMeta
(
version
=
"1.0.0"
,
num_parts
=
num_parts
,
algo_name
=
"metis"
)
dump_partition_meta
(
part_meta
,
os
.
path
.
join
(
outdir
,
"partition_meta.json"
))
logging
.
info
(
"Done processing parmetis output"
)
logging
.
info
(
"Done processing parmetis output"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment