rust-math / intel-mkl-src

Redistribute Intel MKL as a crate
Other
81 stars 22 forks source link

Move to a dedicated organization #10

Closed IvanUkhov closed 5 years ago

IvanUkhov commented 6 years ago

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 to blas-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.

termoshtt commented 6 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.

IvanUkhov commented 6 years ago

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?

termoshtt commented 6 years ago

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.