Closed IvanUkhov closed 5 years ago
Basically I agree to move this crate, but I am anxious about Intel-MKL is not limited to BLAS/LAPACK. For example, I am using FFT package of MKL in fftw binding through this crate. If you don't care this point, I can immediately transfer this repository.
I wasn’t aware of this. It changes everything. Let me try to understand it first. So Intel MKL provides an implementation of FFT, and FFTW isn’t self-sufficient and has to rely on that implementation. Is that correct?
Intel FFT package provides FFTW-compatible interface. https://software.intel.com/en-us/mkl-developer-reference-c-fftw3-interface-to-intel-math-kernel-library
FFTW is self-sufficient, not depending on intel MKL itself. Since the FFTW is a standard and mostly used as a FFT implementation, Intel MKL provides a wrapper for easy replacement. Indeed, they can be replaced by switching including header file in C/C++, and the Rust binding generated from it.
fftw crate usually uses FFTW. This crate has a feature-flag "intel-mkl" which switches the backend of FFT implementation from FFTW to intel MKL using this crate.
I propose maintaining all BLAS- and LAPACK-related crates under a separate organization dedicated to this particular purpose. I’ve already created an organization called
blas-lapack-rs
, BLAS and LAPACK for Rust, and moved all relevant crates from Stainless Steel to that organization.What do you think about moving
intel-mkl-src
toblas-lapack-rs
? I intend to make changes in order to make this package look similar to the rest, but you will retain full control over the repository and the crate on crates.io.