Archive for July 2007

Microsoft Expression Family… WTF?
29 July 2007 in Microsoft | Comments (0)

It may come as a surprise, but the ‘Expression’ family of Microsoft products can be little confusing.

I don’t mean to flame any of this products, mainly because they are really good, but choosing from:

  • Microsoft Expression Web
  • Microsoft Expression Blend
  • Microsoft Expression Design
  • Microsoft Expression Media
  • Microsoft Expression Studio

can really be difficult. secretGeek has a great round up about about the differences between this products.

.NET Data-Parallel Library that Targets GPUs
28 July 2007 in Microsoft & Programming | Comments (0)

Did you know you can use the power of the GPU to process data in .NET?

A new Microsoft research project, called Accelator, exposes a .NET library for performing parallel data processing using a computer’s GPU. The library translates the data-parallel operations on-the-fly to optimized GPU pixel shader code and API calls.

Accelerator is a .NET 2.0 DLL that requires DirectX 9 (included with Windows XP SP2) and a graphics card that supports Pixel Shader 2.0 or above. Graphics cards without hardware vertex processing, common on cheaper laptops, do not appear to work.

Accelerator is released under a non-commercial Shared Source license agreement. This means that while a developer can look at the source code, special permission is needed to actually use it in a production environment. Also, the source is not actually included in the installer or on the project’s wiki page.

The current build can be downloaded from Microsoft Research.

There are some issues you have to understand to fully take benefit from this:

  • Parallel computational intensity: Your algorithm must require enough parallel computation to overcome the overhead involved in transmission of data to the GPU and use of several layers of software including Managed DirectX.
  • Limited need for precision: A GPU can only deliver 32 bit floating point precision. The floating point model on GPUs is not quite compliant with IEEE standards and results can vary from one card to another. The model issues (rounding in particular) are improving.
  • Regular (or bounded) memory access patterns: The GPU memory systems are optimized to exploit locality in images. Though a Gather primitive is provided and can be used effectively, algorithms that require a lot of irregular memory references tend to do less well.
  • No Multi-GPU support: The current implementation only uses one GPU but future versions should target multi-core GPUs.

Like you do for games, you should keep both the graphic card drivers and the DirectX updated to take the most of the library.

How is this useful?

I can think of many situations where the computation power available in current GPUs can speedup data processing.

Folding@home is a really good example. In this project, the software is used in computers from all around the word to create a distributed computing grid that allows every computer to help in the research of protein folding/misfolding and related diseases. A implementation exists of this software that allows users with top graphic cards (PS3 owners for instance) take benefit from that hardware and help out.

Where to start?

You can start by downloading the msi package (requires the DirectX Runtime) and installing it. Afterwards, you can find a online short intro here or dig into the documentation and samples available on your installation folder.

The main beauty of this library, is that allows the programmer to use its normal imperative high-level programming language while keeping all aspects of the GPU hidden.

From the project white-paper you can read:

The speeds of the Accelerator versions are typically within 50% of the speeds of hand-written pixel shader code. Some benchmarks significantly outperform C versions on a CPU: they are up to 18 times faster than C code running on a CPU.

 

Visual Studio 2008 Beta 2 is avaiable!
27 July 2007 in Microsoft & Programming | Comments (1)

Finally the second and last beta of this great software was made public for download. I’m really excited to try this.

Unlimited features combined with the great experience that makes this a powerful developing environment.

Microsoft also released the .NET Framework 3.5 Beta 2 and Silverlight 1.0 RC.

You can download Visual Studio 2008 Beta 2 and the .NET Framework 3.5 Beta 2 from here.

With Silverlight 1.0, Visual Studio 2008, and the .NET Framework 3.5 all scheduled to release to manufacturing (RTM) prior to the end of the year, we (developers) are certainly going to get a new and fresh developing environment.

When Tech Bloggers Design GUIs
27 July 2007 in Fun | Comments (0)

This is exactly what happens when Tech Bloggers design GUIs.

BloggerUIDesign

(via Code To Joy)

What do you wanna find in my Blog?
26 July 2007 in Blogging | Comments (2)

In this blog, I don’t have any special focus on any subject, I simply post a “random” selection of content based on my day and stuff I find online.

So today, I want to ask You, what do you want most to find in my blog? For that I placed below a multiple-choice poll, I hope you fill with your opinion.

If you don’t see a poll and you are using a feed reader, try opening this post on your browser.


Thanks.


Search


Pages


Top Posts


Categories


Advertising