fix #85
extended support for NPP
- NPP partial support
- minor bug fixes
- CUDA 10.1
- Visual 2019
- more generic functions
- bug fixes
- clang 8 (better AVX512 support)
New in this release :
- [experimental] generic functions
- [experimental] cooperative_groups (no multi device sync)
- [CUDA only] pass virtual function as argument (ldvirtftn opcode)
- [CUDA only] complete support of is/as keywords (requires type conversion support in hybridizer options)
- documentation website
- add SingleStaticAssignment attribute - for types which must be assigned immediately after declaration, such as thread_block.
- more options for script version of hybridizer (relocatable device code, additional libraries for jitter, intrinsics, etc)
Bug fixes:
- fix atomicExpr C# implementation
- ICustomMarshaller didn't marshal memory back to host
- removal of hybdelegate, replaced by hybaction and hybfunc everywhere
- static methods of generic types can be marshalled
Minor release -- mostly bugfixes.
- better cufft support
- multiple bugfixes about delegates and marshalling
- bugfix in the windows service (renew license was hanging forever for some unknown reason)
- move to c++14 as default standard (required because of "auto return type" feature, which we use for delegates)
There is a bug (#71) in the CUDA 10.0 samples. It's now fixed in the master branch.
- Func<> improvements : support of ldvirtftn : we can now pass a virtual function as parameter
- AtomicExpr<> : invoke any Func<T, T, T> where T is int/long/float/double
Example : AtomicExpr.apply(ref x, y, (u, v) => Math.Max(u, v)) - Generic Resident array for value types.
- cusparse and curand for cuda 9.1, 9.2 and 10.0
- value types constructors (they must be decorated with [Kernel])
- builtin support for double.MinValue/MaxValue/Epsilon and NegativeZero
- initonly and literal static fields are automatically [HybConstant]
- warnings!
New features:
- Support of
Func<>
(up to four generic arguments) - Support of passing static functions, or
Func<>
as argument. - Basic support of
as
andis
keywords - Linux improvements
- hybridizer-cuda can work in any directory
MSI installer logs errors and exceptions into C:\Program Files\Altimesh\Hybridizer Essentials\
New features:
- Support of Func<,,> (up to four generic arguments)
- Support of passing static functions as argument.
- Linux improvements
- hybridizer-cuda can work in any directory
MSI installer logs errors and exceptions into C:\Program Files\Altimesh\Hybridizer Essentials\
-
CUDA 10 basic support :
no cudaGraph_t
no grid-wide synchronization -
better error reporting
-
more early exit on unsupported code paths.
-
many bug fixes about generic code
-
bug fixes about Func<>
- AVX/AVX2/AVX512 support!
We introduced support of AVX* instruction sets for Intel/AMD CPUs. You can keep the same C# code and target your CPU instead of your NVIDIA GPU. All the code and binaries are deployed, but you'll need a special license to use them. For now, those license are reserved to special customers. You can read more about that in our blog post. This is a very large feature, so it's still in beta with restricted access.
-
Commercial licenses
You can purchase commercial licenses from our website -
Command line tool
Our command line tool has been massively improved. It's been renamed hybcc.exe on windows, and just hybridizer on linux. It now supports:
- project files : hybridizer MyProj.csproj -run
- all target flavors : hybridizer Main.cs -flavor [CUDA]/AVX/AVX2/AVX512 -run
- openmp for CPU targets : hybridizer Main.cs -flavor AVX -fopenmp -run
- verbose mode
- Notebooks
We added new notebooks and completed existing. See them in our github!
- Minor improvements
- fix license query in Visual Studio : #55
- move files around in the installer to get a cleaner installation.
- completed cuda types (cudaError_t)
- a few more bug fixes.