Skip to content

Conversation

@FabioLuporini
Copy link
Contributor

@FabioLuporini FabioLuporini commented Apr 16, 2025

All of the juicy tests are in PRO ... because that's where Bundles are created

@codecov
Copy link

codecov bot commented Apr 16, 2025

Codecov Report

Attention: Patch coverage is 67.63754% with 100 lines in your changes missing coverage. Please review.

Project coverage is 91.88%. Comparing base (fefcfba) to head (fb0d903).
Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
devito/passes/iet/definitions.py 53.52% 33 Missing ⚠️
devito/passes/iet/engine.py 43.18% 25 Missing ⚠️
devito/mpi/routines.py 38.70% 16 Missing and 3 partials ⚠️
devito/types/array.py 72.50% 11 Missing ⚠️
devito/mpi/halo_scheme.py 61.53% 5 Missing ⚠️
devito/ir/support/basic.py 66.66% 1 Missing and 1 partial ⚠️
devito/symbolics/extended_sympy.py 71.42% 2 Missing ⚠️
devito/ir/support/properties.py 80.00% 1 Missing ⚠️
devito/passes/iet/languages/CIR.py 75.00% 1 Missing ⚠️
devito/types/basic.py 83.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2587      +/-   ##
==========================================
- Coverage   92.00%   91.88%   -0.12%     
==========================================
  Files         244      245       +1     
  Lines       47915    48113     +198     
  Branches     4222     4235      +13     
==========================================
+ Hits        44082    44210     +128     
- Misses       3159     3229      +70     
  Partials      674      674              
Flag Coverage Δ
pytest-gpu-aomp-amdgpuX 72.48% <56.13%> (-0.08%) ⬇️
pytest-gpu-nvc-nvidiaX 73.56% <58.36%> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

if expr.dtype:
# CXX, unlike C99, does not support compound literals
tstr = dtype_to_cstr(expr.dtype)
return f'std::array<{tstr}, {len(expr.params)}>{li}.data()'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{self._ns}array

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I take it back -- I cannot. Because of the PRO issue that currently using CBB isntead of CXXBB

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how it's related this only sets the std:: part. And the Pro should be switched to CXXBB for the cpp languages too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I admit I didn't really have the mental strength to chase absolutely everything, but this is what I saw for some reason:
https://github.com/devitocodespro/devitopro/blob/main/devitopro/passes/languages/cuda.py#L184
and it's probably related...

if q_comp_acc(self.source.access) and not q_comp_acc(self.sink.access):
# E.g., `source=ab[x].x` and `sink=ab[x]` -> `a(x)`
return self.source.access.function_access
elif q_comp_acc(self.sink.access) and not q_comp_acc(self.source.access):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpicking: keep same condition order so not q_comp_acc(self.source.access) and q_comp_acc(self.sink.access)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

if not isinstance(efunc, (HaloUpdate, HaloWait)):
continue

calls = FindNodes((Gather, Scatter)).visit(efunc)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

try/except like below?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, I'm going to improve this bit

try:
return issubclass(self.dtype, np.number)
except TypeError:
return self.dtype in ctypes_vector_mapper
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems oddly specific here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's in main too

"""

def _print_ComponentAccess(self, expr):
return f"{self._print(expr.base)}.<{expr.sindex},{expr.function.ncomp}>"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need that? How is it printed without it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it'd be printed without this: {expr.function.ncomp}

meaning that two apparently identical kernels in which f.x appears would be syntactically identical even though in one case f has 3 components for example and in the other 4.

@property
def view(self):
"""A representation of the IET rooted in ``self``."""
"""A high-level representation of the IET rooted in `self`."""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ultra-nitpick: I think our convention is to only use a full stop for multiline docstrings

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that was changing towards full stop everywhere in docstrings? IIRC (but I could well be wrong) it's only the code comments that spare the full stop

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@FabioLuporini FabioLuporini force-pushed the hotfix-parlang-lowering-3 branch from 8d1c43d to 126a0fd Compare April 17, 2025 09:23
@FabioLuporini FabioLuporini force-pushed the hotfix-parlang-lowering-3 branch from 68ac98d to 2b98129 Compare April 17, 2025 14:58
@FabioLuporini FabioLuporini merged commit 6d494db into main Apr 22, 2025
34 checks passed
@FabioLuporini FabioLuporini deleted the hotfix-parlang-lowering-3 branch April 22, 2025 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants