Closed ekimb closed 1 year ago
did you compile with +nightly?
i'm not even sure why you're not getting the usual error when compiling without nightly..
error[E0554]: `#![feature]` may not be used on the stable release channel
--> src/lib.rs:1:12
|
1 | #![feature(stdsimd)]
| ^^^^^^^
error[E0554]: `#![feature]` may not be used on the stable release channel
--> src/lib.rs:2:12
|
2 | #![feature(core_intrinsics)]
| ^^^^^^^^^^^^^^^
I tried compiling with nightly on a M1 OSX EC2 instance, worked.
I had nightly-aarch64-apple-darwin
as the active toolchain (and no nightly-x86_64
), so I had to run
rustup install nightly-x86_64-apple-darwin
rustup install stable-x86_64-apple-darwin
and
rustup default nightly-x86_64-apple-darwin
then cargo build --release
gives the errors above, and cargo +nightly build --release
compiles successfully.
But when I run target/release/rust-seq2kminmers
now, I get
seq: "AACTGCACTGCACTGCACTGCACACTGCACTGCACTGCACTGCACACTGCACTGCACTGACTGCACTGCACTGCACTGCACTGCCTGC"
HPC: "ACTGCACTGCACTGCACTGCACACTGCACTGCACTGCACTGCACACTGCACTGCACTGACTGCACTGCACTGCACTGCACTGCTGC"
[1] 74322 illegal hardware instruction target/release/rust-seq2kminmers
which seems to be an issue with encode_rle_simd
in hpc.rs
. Are you having the same issue on the EC2 instance?
Ahhh good find, I didn't know about nightly aarch vs x86, yes we're using x86 simd here
Yes that's fine now. The last error you're getting is because this project is mainly a library, the main.rs
file is a toy example that runs SIMD instructions (https://github.com/rchikhi/rust-seq2kminmers/blob/master/src/main.rs#L42).
(I'll remove this crash in the next commit i'm working on)
cargo run
yields a lot of errors, presumably because some low-level functions and types are not compatible with M1 chips. Breaksekimb/mapquik
as well.Complete output: