This is an archive of the discontinued LLVM Phabricator instance.

[MLIR][AVX512] Add integration test for vp2intersect
ClosedPublic

Authored by springerm on Feb 8 2021, 5:21 PM.

Details

Summary

This is the first integration test for AVX512. Many AVX512
instructions require specialized hardware, so tests like this one cannot be
run natively on most machines. Therefore, AVX512 tests are enabled via a CMake
build parameter. In addition, if the path to Intel SDE is specified, AVX512
instructions are emulated and the test can run on any machine.

Diff Detail

Event Timeline

springerm created this revision.Feb 8 2021, 5:21 PM
springerm requested review of this revision.Feb 8 2021, 5:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 8 2021, 5:21 PM
mehdi_amini accepted this revision.Feb 8 2021, 6:01 PM
This revision is now accepted and ready to land.Feb 8 2021, 6:01 PM
aartbik added a comment.EditedFeb 8 2021, 8:44 PM

Neat to see AVX512 integration tests!

mlir/CMakeLists.txt
145

arch-specific (omit the period) reads a bit better

mlir/integration_test/Dialect/Vector/CPU/AVX512/lit.local.cfg
5

This particular vpsintersection requires tiger lake AVX512_vp2intersect extensions. Do we want to introduce particular ways of specifying the different AVX512_xxx subsets, or do we just assume that AVX512 implies all subsets?

(don't need to resolve that in this CL, just wondering)

mlir/integration_test/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
7

ust -> must

springerm updated this revision to Diff 322278.Feb 8 2021, 9:13 PM

Fix spelling mistakes.

springerm marked 2 inline comments as done.Feb 8 2021, 9:17 PM
springerm added inline comments.
mlir/integration_test/Dialect/Vector/CPU/AVX512/lit.local.cfg
5

That may be a good idea, depending on how important it is to run the code natively. Maybe for performance experiments.

My CPU actually supports a few AVX512 instructions, but not vp2intersect. (With SDE, the test can run on any machine, but it is really slow.)

nicolasvasilache accepted this revision.Feb 8 2021, 10:55 PM
nicolasvasilache added inline comments.
mlir/integration_test/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
3

Nice, thanks for investigating and making this work!

This revision was automatically updated to reflect the committed changes.
aartbik added inline comments.Feb 9 2021, 4:05 PM
mlir/integration_test/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
44

I see this has been submitted, so I am a bit after the fact, but since this deals with the AVX512 dialect, I would have had a small preference for

integration_test/Dialect/AVX512/CPU instead of
integration_test/Dialect/Vector/CPU/AVX512