пятница, 26 октября 2012 г.

The Microsoft Accelerator 2

Ускоритель высокого уровня библиотек, который использует параллельные процессы: GPU и многоядерные CPU для ускорения работы. Accelerator v1 был выпущен MSR в октябре 2006 года и периодически обновляется с тех пор. Accelerator v2 - продукт компании MSR, цель которых: проверка архитектуры и высококачественный подход к API, чтобы, с инженерной точки зрения, собрать реальные данные об использовании GPU.

Accelerator v2 основывается на Accelerator v1. Во второй версии добавленны функции, по просьбе пользователей Accelerator v1, а точнее:
Accelrator v2 записывается в виде машинного кода; C++ библиотеки с управляемыми API-оболочками.Работа на многоядерных процессорах, 32 и 64 бит. Дополнение к Directx9 графических процессоров и CUDA. Возможность работы на нескольких устройствах в одном виде Accelerator. Асинхронная оценка, параллельные массивы и др.

На сегодняшний день пакет Accelerator v2 включает в себя ускоритель SDK, обширную документацию и несколько примеров приложений, для помощи в начале работы с Accelerator.

вторник, 23 октября 2012 г.

Conflux


Conflux is a self-contained library that is capable of transforming parallel algorithms written in C# and executing them on GPU and/or CPU.
As of now Conflux is a proof of concept that successfully executes simple parallel algorithms written directly in C# (without any shader code in plain strings, without any interop with CUDA driver, just high-level code).
Here's how Conflux works:
You encode a parallel algorithm using C#, debug it as usual and so on.

Now you write something like this (code is simplified a bit): Conflux.RunOnGPU<Algorithm>(args). After that, the algorithm is decompiled, analyzed, transformed to fit NVIDIA CUDA architecture and executed on GPU. Of course, not all syntactical constructs of C# are supported due to architectural restrictions of GPUs, though Conflux supports everything that can be efficiently mapped to CUDA 3.1.

If end-user doesn't have a GPU, you can provide a fallback option to execute the algorithm on a multi-core CPU. This looks like the following (again, code is a bit simplified): if (Cuda.GpuCount == 0) Conflux.RunOnCPU<Algorithm>(args). Nothing more is required - Conflux will transparently generate marshalling and computational code that's appropriate for this architecture. When you run algorithms on CPU, Conflux also has a possibility to generate debuggable code, so that you can set breakpoints within your computational kernel, watch variables and so on.

Embedding parallel algorithms into high-level language as opposed to being forced to use non-debuggable and non-refactorable strings of shader-like code.
Support for traditional control flow (ifs, loops, subroutines) and data structures (arrays work right now, structs coming soon).
JIT-compilation of computational kernels (some tools that implement #1-2 do all code generation at compile-time - Conflux defers this till the runtime and can leverage all the benefits of such approach, e.g. adjust its backend for target hardware).

There are similar projects, though the combination of the following features makes Conflux unique:

пятница, 19 октября 2012 г.

GTC 2012

На просторах интернета наткнулся на интересненькую презентацию. Если вы владеете английским языком, почитайте, интересно :)

GTC 2012

четверг, 18 октября 2012 г.

The Microsoft Accelerator


Для всех разработчиков, а так же для групп разработчиков, которые заинтересованы в использовании технологий компании Microsoft, таких как Kinect и Windows Azure, то Accelerator Windows для вас. В рамках этой программы Microsoft оказывает поддержку предпринимателей, помогая воплатить в жизнь огромное количество идей/бизнес-решений.

Каждая компания, участвующая в Microsoft Accelerator, получит инвестиции в размере $ 20.000, а так же все связанные с ним наборы развития, офисные помещения, все ресурсы Microsoft BizSpark, техническую подготовку и поддержку, наставничество со стороны предпринимателей, инвесторов и Microsoft руководителей. Всё это направленно на повышение собственного бизнеса.

В конце программы каждая компания будет иметь возможность выступить перед ведущими капиталистами, руководителями Microsoft, СМИ и другими влиятельными руководителями промышленностей.

CUDAfy.NET

CUDAfy.NET является .NET 4.0 библиотека, которая позволяет писать приложения NVIDIA CUDA с. NET. Нет отдельного CUDA файлов или сложных процедур настройки для запуска GPU функции устройства. 
Из этого следует модель программирования CUDA и любые знания, полученные в учебнике или книге на CUDA может быть легко передана CUDAfy . NET моды.

>>см. CUDA post