As every modern language, C# exposes the null reference billion dollar mistake. On the other hand, native languages such as CUDA or C/C++ expose null pointers. To mitigate that, latest versions of compilers tend to introduce some form of automatic null checks. For example, Typescript recently added a –strictNullChecks option, and C#, following a proposal, […]

READ MORE

Tags: , ,


As a way to demonstrate Hybridizer’s capabilities, we wrote a simple Windows demo application for fractal rendering. Demo application Compute code is written in C# and features floating point arithmetic, function calls, conditions, loops, Parallel.For and bit manipulations: [Kernel] public static int IterCount(double cx, double cy, int maxiter) { int result = 0; double x […]

READ MORE


System.Numerics.Vector is a library provided by .Net (as a nuget package), which tries to leverage SIMD instruction on target hardware. It exposes a few value types, such as Vector<T>, which are recognized by RyuJIT as intrinsics. Supported intrinsics are listed in the core-clr github repository. This allows C# SIMD acceleration, as long as code is […]

READ MORE

Tags: , , ,


AForge is a popular .Net library for image processing and computer vision. It features a lot of image filters, noise generators, or other image-related algorithms. Since it’s written in C#, and given the very parallel nature of most of image processing algorithms, we tried to hybridize some of them. AForge code make heavy use of […]

READ MORE

Tags: , ,