Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
- Fix bug where
ispc_compilewould watch the compiled library and generated bindings for changes to cause the build script to re-run, thus forcing the build script to be re-run every time the project is built.
Fix links in README
Work around ISPC issue ispc/ispc#1408 . On Windows ISPC will crash when building with both optimizations and debug symbols for the AVX512KNL and AVX512SKX targets. To work around this, ispc_compile will no longer pass
-gwhen compiling with ISPC optimizations
The ispc-rs crate is now split into two separate crates, ispc_compile and ispc_rt. This split will allow library authors to avoid forcing users of the library to need to have the ISPC compiler, bindgen, etc. to build the bindings. The ispc_compile crate contains the code required to compile ISPC code and generate bindings at compile time, while ispc_rt contains the macro to import the generated module, and the code for the tasking and instrumenting systems. ispc_rt contains additional code which can be used in the build script to link against pre-compiled ISPC binaries, and previously generated bindings. By feature gating the use of the ISPC compiler, library/program authors can reduce the dependencies which are pushed onto end users of the code, who don't plan to modify the ISPC code.
Please see the example and README for an example of how to feature gate the ISPC compilation requirement, and lighten end user dependency needs if desired.
The ispc-rs crate is also still provided, but serves as simply a meta-crate which re-exports the ispc_compile and ispc_rs crate contents. If you don't want to feature gate compiling ISPC, you can continue using ispc-rs as before.
- Add support for specifying multiple target ISAs via
Config::target_isas. Resolves #3
- Suppress warnings about non-capitalized globals in the generated headers from bindgen