-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Direct Solver: Recursive Skeletonization #164
base: main
Are you sure you want to change the base?
Conversation
39e8347
to
80bb8e1
Compare
8e3731d
to
78699ec
Compare
@inducer This should be ready for a look. It doesn't do much:
|
7ed33f4
to
ea42c82
Compare
80fe1fb
to
b44f4a8
Compare
cc4be24
to
0176d32
Compare
0176d32
to
f71a21b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noticed a pending review. Figured it'd be better to submit it. :) Don't quite know how old this is.
pytential/linalg/cluster.py
Outdated
|
||
Current level that is represented. | ||
|
||
.. attribute:: nlevels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this avoidable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reworked this a while back, so not quite sure if your comment still applies?
pytential/linalg/cluster.py
Outdated
# {{{ cluster tree | ||
|
||
@dataclass(frozen=True) | ||
class ClusterTreeLevel: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this two things rather than one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, separated into a ClusterTree
and ClusterLevel
with a ClusterTree.levels()
iterator to go through them for the recursive skeletonization.
Naming could still be better probably?
@@ -355,7 +360,25 @@ def test_skeletonize_by_proxy(actx_factory, case, visualize=False): | |||
case = replace(case, approx_cluster_count=6, id_eps=1.0e-8) | |||
logger.info("\n%s", case) | |||
|
|||
run_skeletonize_by_proxy(actx, case, case.resolutions[0], visualize=visualize) | |||
dd = sym.DOFDescriptor(case.name, discr_stage=case.skel_discr_stage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update the test docstring to describe precisely what's being tested here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated the blurb in
https://github.com/inducer/pytential/compare/f71a21b1a54791b02b35712225b9cfaca4be60cf..9a8db7ff410051a6b7d86cd8d5b934d02d094fef
Let me know if it's clear enough!
9a8db7f
to
ce00d4e
Compare
c1e986c
to
814b8ac
Compare
63fcc25
to
17890c4
Compare
845f75d
to
b17e975
Compare
Hm, weird that this failed and #174 seems to be doing just fine. They did get different machines:
EDIT: Latest runs (after #212) seem to pass repeatedly again, e.g.
|
b17e975
to
53a0212
Compare
9630b4f
to
32ecc58
Compare
f79175f
to
19f4098
Compare
19f4098
to
e9643cc
Compare
|
||
|
||
def make_cluster_parent_map(parent_ids: np.ndarray) -> np.ndarray: | ||
"""Construct a parent map for :attr:`ClusterLevel.parent_map`.""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rephrase/rework? "All children in a bucket"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rephrased and added some more context in https://github.com/inducer/pytential/compare/e9643cc480e53575274e4dc8e14d81d9b060f6b6..20fbc31a57c1a9a642abfa0a9b7a83ad81f1a1d5. Thoughts?
e9643cc
to
20fbc31
Compare
@inducer I think inducer/ci-support@1475971 broke pylint (it's not finding the cython stuff anymore?). Any suggestion for a fix? |
20fbc31
to
6983a42
Compare
6983a42
to
ab228e6
Compare
ab228e6
to
c92b7f0
Compare
f6e7c6e
to
78eebbf
Compare
c479984
to
8aa200f
Compare
9c5bb68
to
a7c5d19
Compare
8bef46c
to
ae443aa
Compare
ae443aa
to
85033db
Compare
Attempting to break up the direct solver MR into smaller, more reviewable pieces. As a rundown
linalg.proxy
).The code for this is mostly in the deprecated https://gitlab.tiker.net/inducer/pytential/-/merge_requests/137.