bluss / matrixmultiply

General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides.
https://docs.rs/matrixmultiply/
Apache License 2.0
213 stars 25 forks source link

Building tests fails on non-x86 architectures #48

Closed ignatenkobrain closed 5 years ago

ignatenkobrain commented 5 years ago
error[E0433]: failed to resolve: use of undeclared type or module `KernelAvx`
   --> src/sgemm_kernel.rs:507:27
    |
507 |             Alloc::new(n, KernelAvx::align_to()).init_with(elt)
    |                           ^^^^^^^^^ use of undeclared type or module `KernelAvx`
error: cannot find macro `loop_m!` in this scope
   --> src/sgemm_kernel.rs:542:9
    |
542 |         loop_m!(i, loop_n!(j, m[i][j] += 1));
    |         ^^^^^^ help: you could try the macro: `loop_n`
error[E0433]: failed to resolve: use of undeclared type or module `KernelAvx`
   --> src/sgemm_kernel.rs:541:26
    |
541 |         let mut m = [[0; KernelAvx::NR]; KernelAvx::MR];
    |                          ^^^^^^^^^ use of undeclared type or module `KernelAvx`
error[E0433]: failed to resolve: use of undeclared type or module `KernelAvx`
   --> src/sgemm_kernel.rs:541:42
    |
541 |         let mut m = [[0; KernelAvx::NR]; KernelAvx::MR];
    |                                          ^^^^^^^^^ use of undeclared type or module `KernelAvx`
error[E0433]: failed to resolve: use of undeclared type or module `KernelAvx`
   --> src/dgemm_kernel.rs:820:27
    |
820 |             Alloc::new(n, KernelAvx::align_to()).init_with(elt)
    |                           ^^^^^^^^^ use of undeclared type or module `KernelAvx`
error: cannot find macro `loop_m!` in this scope
   --> src/dgemm_kernel.rs:855:9
    |
855 |         loop_m!(i, loop4!(j, m[i][j] += 1));
    |         ^^^^^^ help: you could try the macro: `loop_n`
error[E0433]: failed to resolve: use of undeclared type or module `KernelAvx`
   --> src/dgemm_kernel.rs:854:30
    |
854 |         let mut m = [[0; 4]; KernelAvx::MR];
    |                              ^^^^^^^^^ use of undeclared type or module `KernelAvx`
bluss commented 5 years ago

Thanks. Is this new since 0.2.3?

ignatenkobrain commented 5 years ago

@bluss I'm not exactly sure since we did not run cargo test before that.

bluss commented 5 years ago

Can you tell what commands you ran? We have a test builder for non-x86, but it cross compiles and does not run tests.

ignatenkobrain commented 5 years ago

You can find full build log here: https://kojipkgs.fedoraproject.org//work/tasks/4038/37774038/build.log

bluss commented 5 years ago

We can't prioritize this since we don't have an environment to run tests in, so I'd recommend not running tests in the build.

bluss commented 5 years ago

We should be able to build the tests though, even if we don't run. But I don't agree that we need to deliver tests that are useful beyond our own CI

ignatenkobrain commented 5 years ago

@bluss thanks a lot for fixing!

We are packaging crates in Fedora and we try to make sure that their test suite passes so that we are not shipping some complete garbage :)

bluss commented 5 years ago

Well, it's not completely fixed, we'll see if tests pass. Long run we can set up cross tests.