-
Notifications
You must be signed in to change notification settings - Fork 288
development strategy for support beyond host platform #92
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
Comments
AFAIK QEMU can't emulate AVX-512 in software, but Intel has a proprietary (I know, eww) solution to do it: https://software.intel.com/en-us/articles/intel-software-development-emulator/ I'll report on whether it can handle NEON as soon as my aarch64 toolchain builds. EDIT: Looks like QEMU emulates NEON, although I didn't write anything exhaustive. #include "stdio.h"
#ifdef __x86_64__
#include "x86intrin.h"
#endif
#ifdef __aarch64__
#include "arm_neon.h"
#endif
int main(void) {
#ifdef __x86_64__
__m512d arr = _mm512_set_pd(0.0, 0.1, 0.0, 0.1, 0.0, 0.1, 0.0, 0.1);
__m512d arr2 = _mm512_set_pd(0.0, 0.1, 0.0, 0.1, 0.0, 0.1, 0.0, 0.1);
__m512d ans = _mm512_add_pd(arr, arr2);
printf("%f\n", ans[0]);
#endif
#ifdef __aarch64__
float64x2_t arr = {0.0, 1.0};
float64x2_t arr2 = {0.0, 1.0};
float64x2_t ans = vaddq_f64(arr, arr2);
printf("%f, %f\n", ans[0], ans[1]);
#endif
}
This was all done on an Ivy Bridge box (AVX and below natively supported) |
Bah I would have hoped we could just use QEMU for this, but apparently not :( |
Does anybody know if this is going to stay this way, or if it is something being worked on? EDIT: This QEMU change log from 2016 says that it has some support for AVX-512: https://wiki.qemu.org/ChangeLog/2.8 |
This commit adds a new builder on CI for running tests in Intel's own emulator and also adds an assertion that on this emulator no tests are skipped due to missing CPU features by accident. Closes rust-lang#92
This commit adds a new builder on CI for running tests in Intel's own emulator and also adds an assertion that on this emulator no tests are skipped due to missing CPU features by accident. Closes #92
This commit adds a new builder on CI for running tests in Intel's own emulator and also adds an assertion that on this emulator no tests are skipped due to missing CPU features by accident. Closes rust-lang#92
Thanks, qemu tcg 8.2.2 still not support avx512 yet:
|
Confirmed with 9.1.2 |
I would like it to be possible for programmers to run tests using intrinsics that their development platform doesn't have access to. For example, as someone developing on an Intel SandyBridge machine, I'd like to be able to run tests that use AVX512 intrinsics or even ARM tests.
Is this possible? Can some kind of VM make this happen?
@mattico noted some thoughts on the topic.
The text was updated successfully, but these errors were encountered: