generic-simd | Generic SIMD abstractions for Rust
kandi X-RAY | generic-simd Summary
kandi X-RAY | generic-simd Summary
[Rust Documentation] generic-simd provides safe and idiomatic zero-cost abstractions for writing explicit cross-platform SIMD operations.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of generic-simd
generic-simd Key Features
generic-simd Examples and Code Snippets
Community Discussions
Trending Discussions on generic-simd
QUESTION
I'm testing the FFTW 3.3.8 C library for 1D Discrete Fourier Transform (DFT) calculations. The results I get are often incorrect when I use the float
(single-precision) version of the libraries, configured with the --enable-generic-simd128
or --enable-generic-simd256
options (and --enable-float
for float
support). I have tested this in MinGW-w64 as well as Windows Subsystem for Linux, with gcc as the compiler. I also get the same errors when I use the pre-built FFTW package for MinGW-w64, downloaded via pacman in MSYS2.
As a simple test, I'm using an input vector of 1's. The first element of the expected DFT should be equal to the length of the input vector, with all the other elements zero.
Has anyone run into this issue before, or would anyone be willing to try to reproduce it? Am I to make of this that the --enable-generic-simd128
and --enable-generic-simd256
optimizations are not supported when using the float
version of the library? My CPU is Intel i7-4720HQ.
Here is a simple test program to demonstrate the issue:
main.c
...ANSWER
Answered 2020-Jun-13 at 17:21This appears to be a bug in FFTW 3.3.8.
I built FFTW 3.3.8 with --enable-float
on a 2016 15-inch MacBook Pro running macOS 10.14.6 with Clang 11.0.0 and Xcode 11.3.1 and built and executed the code in the question. It displayed output of 21 for element 0 and values near 0 (such as “6.6324e-07 + j -2.0458e-07”) for the other elements. After I rebuilt FFTW with --enable-generic-simd128
added, the program gave the output shown in the question.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install generic-simd
Rust is installed and managed by the rustup tool. Rust has a 6-week rapid release process and supports a great number of platforms, so there are many builds of Rust available at any time. Please refer rust-lang.org for more information.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page