Skip to content
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

Fmla support added #285

Merged
merged 8 commits into from
Jan 3, 2023
Merged

Fmla support added #285

merged 8 commits into from
Jan 3, 2023

Conversation

adcastel
Copy link
Contributor

This is the support for fmla neon assembly instruction
It works with microkernel generation.
I can show the resulting code in the next meeting.

@yamaguchi1024
Copy link
Member

Hi @adcastel , thanks for the PR!
Could you add a test for this instruction to https://github.com/exo-lang/exo/blob/master/tests/test_neon.py ?

@codecov-commenter
Copy link

codecov-commenter commented Nov 10, 2022

Codecov Report

Merging #285 (be46845) into master (ce89280) will increase coverage by 0.01%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##           master     #285      +/-   ##
==========================================
+ Coverage   86.28%   86.30%   +0.01%     
==========================================
  Files          73       73              
  Lines       16386    16416      +30     
==========================================
+ Hits        14139    14168      +29     
- Misses       2247     2248       +1     
Impacted Files Coverage Δ
src/exo/platforms/neon.py 89.47% <ø> (ø)
tests/test_neon.py 78.35% <96.66%> (+8.20%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@adcastel
Copy link
Contributor Author

adcastel commented Nov 11, 2022 via email

Copy link
Member

@yamaguchi1024 yamaguchi1024 left a comment

Choose a reason for hiding this comment

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

Looks good if you could add the corresponding tests

@adcastel
Copy link
Contributor Author

Vfmla test added

Copy link
Member

@yamaguchi1024 yamaguchi1024 left a comment

Choose a reason for hiding this comment

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

Thanks for adding a test! Please use golden functionality to compare the result.

@@ -83,7 +83,53 @@ def simple_math_neon(n: size, x: R[n] @ DRAM, y: R[n] @ DRAM): # pragma: no cov
fn(None, n, x, y)
assert np.allclose(x, expected)

#@pytest.fixture
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#@pytest.fixture
@pytest.mark.isa("neon")


p = test_neon_vfmla()
print(p)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
print(p)


p = test_neon_vfmla()
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
p = test_neon_vfmla()

p = autofission(p, p.find('B_vec[_] = _').after(), n_lifts=2)
p = replace(p, 'for l in _: _ #0', neon_vld_4xf32)
p = set_memory(p, 'B_vec', Neon4f)
print(p)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
print(p)

tests/test_neon.py Show resolved Hide resolved
Copy link
Member

@yamaguchi1024 yamaguchi1024 left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@yamaguchi1024 yamaguchi1024 enabled auto-merge (squash) December 16, 2022 18:14
auto-merge was automatically disabled December 29, 2022 14:32

Head branch was pushed to by a user without write access

@yamaguchi1024 yamaguchi1024 merged commit 4330c16 into exo-lang:master Jan 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants