Conquering the computations using GPU

 

The new age computers are equipped with a dedicated graphics processing unit to handle the display job inside a computer and leave the busy CPU to other tasks. Doubtlessly, GPU is the most high performing hardware inside a computer. But what use? they’re dedicated for video processing. Still the intensive computational power required for the applications running by the CPU.

A new age GPU has 7-10x faster than a CPU. High amount of parallelism can be obtained using GPUs with the many dedicated cores inside a GPU. To exploit the power of GPU the GP GPU concept has been evolved. This enables applications to route the highly intensive computational tasks to a GPU such as Video Processing, Algorithm computations etc… The throughput is enormous.

We’ve variety of flavors when choosing CPU like dual core, quad core CPU (so far from Intel). Some high performance computers like mac pro equipped with multi-multiple-core processors. But can you compare the performance of an application which make use of 4 or 8 core processor and another exploits the power of 280 cores?

nVidia Introduced their new GeForce 200 series graphics cards which is a highly capable GPU and also can tackle the jobins of a CPU. As Jeff Atwood tweeted can you realize the situation where a video encoding job done by a recent CPU in 8 minutes while a GPU does in 45 seconds! To play the new age games, GPU is an unavoidable hardware component. Beyond playing games GeForce GTX 280 shifts tasks from the CPU to the GPU, allow you to play a smooth Blu-ray movie, surf the web in 3D, or transcode video to a personal video player up to 7x faster than traditional CPUs. Physics based games requires intensive processing power to do the math required for the games. The new GeForce GPU supports nVidia PhysX technology and according to PCWorld the Physics Processing Unit does the task of CPU jobs. Cool eh? CUDA Programming is way tapping into the many core power of GPUs.

Experience better Games, Video processing, 3D browsing with new age GPU and it’s general purpose techniques.

 

How to Synchronize Google Calendar with Outlook?

 

I’m not really a calendar freak but I used to track my activities through Google calendar. I’ve restarted using outlook as my mail client during office hours after 1 year gap. For me Google accounts is basically a tool manage mail, tasks, documents, favorites(using toolbar), mail personal information, webhistory, notes etc… Syncing my most used personal information is an important task. That may be one reason I’m really addicted to the services offered through Google.

I was actually searching some means to sync my Google Calendar and outlook. I’ve found some open source projects in Sourceforge.net but I had faced some issues with installing it.

Google Calendar Sync is a nice way to put the things in place. In Google Sync Release post,

This was my life for a whole year before we started working on Google Calendar Sync, a 2-way synching application between Google Calendar and the calendar in Microsoft Outlook. I was probably the most excited person on the team when we started developing it, because now I can access my calendar at home or on my laptop, on Google Calendar or in Outlook. When I add an event to the Outlook calendar on my laptop, Google Calendar Sync syncs it to my Google Calendar — and since I also have Google Calendar Sync running on my desktop, the event then syncs from Google Calendar to Outlook calendar on my desktop. All of my calendar views are always up to date, and I can choose whichever one I want to use.

It simply synchronize my Google Calendar with Outlook very easily. No hectic procedures, you can simply install and give your authentication details to get connected with Google Calendar.

Different modes of synchronization (2 way and 1 way) is available between outlook and Google Calendar. Moreover it’s latest version even compatible with Outlook 2007.

Error In Windows XP: When I installed this software with Windows XP (yet to try with Vista) and on the first run I got an error message like “You seem to have outdated time zone information. Please run Windows Windows Update”. On a quick search, I found some solutions in Google Groups. In case of above specified error, you will have to install Microsoft Update KB942763 to update revised DST laws.

Enhance your Google Calendar Experience with outlook Google Calendar Sync.

 

Jagged Array in C#

 

Jagged array represents array of arrays where each array can have arbitrary number of elements. It’s the similar concept of double pointers in C.

Jagged array provides flexible services for manipulating and controlling data. In the case of C pointers will have to do the manual book keeping for better control over the bounds of data. We can have the same implementation by using dequeue/vector container classes in C++. But still we can’t say they’re representing array. Rather than they’re containers and provides common “container” interfaces.

You can check the number of facilities available for jagged arrays and arrays from MSDN. Also you will get some other good examples

How to use Jagged Arrays – Listing 1

// constructing jagged array

int[][] myJaggedArray = new int[5][];

for (int i = 0; i < myJaggedArray.Length; i++)

{

myJaggedArray[i] = new int[i + 1];

}

// iterating each arrays

for (int i = 0; i < myJaggedArray.Length; i++)

{

// iterating each elements in an array

for (int j = 0; j < myJaggedArray[i].Length; j++)

{

Console.Write( “{0} “, myJaggedArray[i][j]);

}

Console.WriteLine(” – {0} elements”, myJaggedArray[i].Length);

}

How to use Jagged Arrays – Listing 1

int[][,] jaggedArray4 = new int[3][,]

{

new int[,] { {1,3}, {5,7} },

new int[,] { {0,2}, {4,6}, {8,10} },

new int[,] { {11,22}, {99,88}, {0,9} }};