[TOPI][x86] Cascade lake support.#4123
Conversation
29070d0 to
1d96d39
Compare
tmoreau89
left a comment
There was a problem hiding this comment.
Thanks @anijain2305 for the changes!
tmoreau89
left a comment
There was a problem hiding this comment.
Nit: why do we have the intrinsics named {dot_16x1x16_uint8_int8_int32_skylake, dot_16x1x16_uint8_int8_int32_vnni} instead of {dot_16x1x16_uint8_int8_int32_skylake, dot_16x1x16_uint8_int8_int32_cascadelake}?
Will make it more consistent. Thanks for the suggestion :) |
719a583 to
d58aead
Compare
tests/python/relay/test_op_level2.py
Outdated
| assert False, "Target should be Skylake or Cascadelake" | ||
|
|
||
| # compile conv2d for x86 (skylake, cascadelake) and test assembly contains *pmadd* instructions | ||
| # targets = ["llvm -mcpu=skylake-avx512", "llvm -mcpu=cascadelake"] |
There was a problem hiding this comment.
why is this commented out? do we not want to test the cascadelake target?
There was a problem hiding this comment.
Sorry, Let me add WIP tag. Jenkins is failing w/o any debug prints. So I am trying to narrow down the issue. I will ping you once I identify the issue.
tmoreau89
left a comment
There was a problem hiding this comment.
Added one more comment. Thanks for the changes!
| target = tvm.target.current_target() | ||
| intel_device_type = None | ||
| for opt in target.options: | ||
| if opt == '-mcpu=skylake-avx512': |
There was a problem hiding this comment.
Is there a helper function to get CPU type from target? If not, I think that adding it would make lines like this a lot cleaner, and a lot friendlier to new developers.
There was a problem hiding this comment.
I agree. Let me see if I can get that parsing a part of target data structure.
a2194b9 to
a0d7041
Compare
|
@tmoreau89 @soiferj I am done now. Guarded the tests to work with only >=8 LLVM version. That resolved the CI error. Please review again and let me know if you have more comments. |
python/tvm/target.py
Outdated
| return _api_internal._TargetFromString(target_str) | ||
|
|
||
|
|
||
| def get_mcpu(target): |
There was a problem hiding this comment.
Is it possible to add this as a property under the Target class? Like libs
There was a problem hiding this comment.
Moved it. Please review again :)
* [TOPI][x86] Cascade lake support. * Jenkins test debug 1. * Testing cascade lake alone.
* [TOPI][x86] Cascade lake support. * Jenkins test debug 1. * Testing cascade lake alone.
* master: (51 commits) [QNN][TFLite] Parsing QNN Add op. Adding MobilenetV2. (apache#4142) [CI] Pin NNPack pthreadtools version (apache#4152) Fix typo (apache#4144) [Relay][Frontend][TF] Add tensor array ops (apache#3798) [relay][vm] Separate VM runtime with executable (apache#4100) [PATCH] Fix undefined __floatdihf in libtvmruntime.so on aarch64. (apache#4119) [DOCKER] Pin torchvision==0.4.1 (apache#4140) [TOPI][x86] Cascade lake support. (apache#4123) [Relay] Improve build error when no lowered funcs are produced (apache#4132) [RUNTIME] Refactor object python FFI to new protocol. (apache#4128) Update PULL_REQUEST_TEMPLATE.md Adding support for dequantizing from int32 to float32. (apache#4130) [Relay][Training] Add and fix gradients (apache#4126) [QNN] Change default rouning to UPWARD. (apache#4131) Fix infer type of kernel in dense. (apache#4125) [Relay][AlterOpLayout] NHWC to NCHWc pad operator. (apache#4103) [ARITH] Fix lowering of floormod(x, y) != 0 (apache#4127) [RFC][RUNTIME] Introduce new object protocol. (apache#4115) [Relay][Topi] Disable conv NHWC pack int8. (apache#4038) Update task_cpp_unittest.sh ...
As Title. Enables Intel VNNI instructions for Int8 quantized networks.