Monday, May 20, 2013

Install Steam for Linux on openSUSE

Screenshot courtesy: +Marcel K├╝hlhorn

Valve has done a brilliant job by porting their Steam client to Linux. This has not only fostered more Linux gaming communities, but has also opened another option of developers working on developing games for the Linux platform.

There are many resources on the internet for how to get Steam on popular distributions like Ubuntu and Linux Mint. This post focuses purely on how to get Steam for Linux on openSUSE.

openSUSE has it's very own installer for Steam on the public games repository thanks to all the hard work from the openSUSE community.

The +Open Build Service has the package available and you could use the famous 1-click install process to get Steam for Linux. Click here to go there.

Have fun and enjoy the amazing gaming experience on your openSUSE installation :)

AMD's hUMA and how it can change Parallel Computing forever

Background  High Performance Attached Processors, Handicapped By Architecture

The application of high-performance accelerators, notably GPUs, GPGPUs (APUs in AMD terminology) to a variety of computing problems has blossomed over the last decade, resulting in ever more affordable compute power for both horizon and mundane problems, along with growing revenue streams for a growing industry ecosystem, most recently joined by Intel’s Xeon Phi accelerators which have to potential to speed adoption even further due to hoped-for synergies generated by the immense universe of x86 code that could potentially run on the Xeon Phi cores.
However, despite any potential synergies, GPUs (I will use this term generically to refer to all forms of these attached accelerators as they currently exist on the market) suffer from a fundamental architectural problem — they are very distant, in terms of latency, from the main scalar system memory and are not part of the coherent memory domain. This in turn has major impacts on performance, cost, design of the GPUs, and the structure of the algorithms:
  • Performance — The latency for memory accesses generally dictated by PCIe latencies, which while much improved over previous generations, are a factor of 100 or more longer than latency from coherent cache or local scalar CPU memory. While clever design and programming, such as overlapping and buffering multiple transfers can hide the latency in a series of transfers, it is difficult to hide the latency for an initial block of data. Even AMD’s integrated APUs, in which the GPU elements are on a common die, do not share a common memory space, and explicit transfers are made in and out of the APU memory.
  • Cost  — The necessity for additional buffer memory in the GPU to store the working and prefetched data blocks adds cost to the GPU. In addition, the logic to support high-speed data transfer adds costs.
  • GPU design  — GPU designs have been tending toward increased core count due to the need to operate on ever larger blocks of prefetched data to improve the performance of current algorithms.
  • Algorithms — In a reinforcing cycle with current designs, algorithms for GPUs are written based on the assumptions that there will be a large transfer latency and that they cannot have coherent memory access to the main system memory, reinforcing current design practices.

What’s New

Over the last few months, AMD has been quietly rolling out a new technology, heterogeneous Uniform Memory Access (hUMA), to be implemented on future unannounced AMD products. hUMA will fundamentally alter the relationship of the GPU to the main system CPU by providing the GPU with peer access to the main system memory space along with the scalar processor. The key technical features of hUMA will include:
  • Unified memory with bidirectional coherency and uniform access — This is the truly transformational feature of hUMA if it works as planned. The GPU and the scalar CPU will now share the same uniform memory space, and both can now allocate and operate on common memory with no need for redundant buffering on the GPU, and no need for explicit transfers.
  • Shared coherency domain — hUMA implements a common coherency mechanism, which will open up the potential for multiple GPUs operating on the same shared data and combinations of GPU and CPU in new algorithms, since each will automatically have the latest version of memory served either from cache or through a common cache-miss process. This will certainly change the way GPU-based algorithms are implemented, since developers can now be more flexible in where they perform processing with no penalty for moving data blocks.
  • GPU can take page faults and allocate memory — The GPU can take page faults, allowing it to work out of non-locked memory.
The potential impact on CPU/GPU integration is immense. As an embryonic developer I developed significant code on real-memory systems where a considerable amount of my time was spent juggling overlays of data and code that were locked to physical memory, and the transition to a uniform virtualized memory model transformed programming. While hUMA will still require explicitly exposing parallelism in algorithms, it will remove an unnecessary and inconvenient barrier to its proper exploitation.

Where Are The Products?
Today there are no hUMA products, but with the pacing of AMD’s communications and the expectation of new processor generations from both AMD and Intel, my guess is that we will hear from AMD on the subject of hUMA products before the year is out. Because there is currently also little or no hUMA software IP, we can probably expect that the initial products will be in the server space targeted at lab and HPC users, along with a push to promote hUMA software IP. Since AMD’s server market has fallen to less than 5% according to some observers, AMD has little to lose by trying to shake up the server market again. Consider also that AMD has an architecture license for ARM, so there is also the potential to cook up some interesting mixes of very low power scalar ARM cores hUMA-coupled with GPUs in addition to hUMA-based variations of current AMD APU designs.

What Are The Risks?
As always, with new technologies, there are risks. For hUMA as a catalyst for increasing AMD’s market share, the risks are pretty straightforward:
  • Performance risks — Unified memory architectures took a long time to shake out on PCs and still suffer performance limitations compared to dedicated architectures for some applications. Developers persisted due to potential cost advantages, and they now work well enough to be mainstream. hUMA could suffer from performance teething problems, delaying its acceptance. THre are also likely to be upper limits on the number of GPU cores that can participate in the cache coherency scheme, and while it is hard to predict, this number will probably be well below the current 500 - 1000 cores of the highest end GPUs.
  • Capturing developer mindshare — As I noted above, having gone through a similar technology transformation, it is hard to see that developers will not be all over this one. But, and this is a very big but, when I was developing, nobody paid any attention to the relative market shares of the mainframes we were working on. AMD faces a classic chicken and egg problem — how to attract attention to a transformational technology that will only pay off for some developers if AMD gains market share, and AMD cannot gain market share without the developers in the first place. The likely outcome is incremental acceptance after an early demonstration phase where leading users demonstrate hUMA advantages, and others follow.
  • Intel duplicates hUMA — The advantages of hUMA are not a secret, nor are the difficulties engendered by today’s GPU architectures. If Intel is working on a hUMA equivalent project, even the threat of it could stall acceptance of AMD’s alternative. Currently, Intel is not generating a lot of revenue from its Xeon Phi products, so a change in product architecture might be more embarrassing than expensive if they were to do so quickly. However, regardless of timing, what is certain is that Intel will be forced to react to this move by AMD in some fashion — the potential advantages for hUMA-based computers is too significant to ignore.
From a developer's perspective, hUMA resonates with overtones of Victor Hugo’s “nothing is stronger than an idea whose time has come” (this is actually a popular paraphrasing, not a literal translation). If you are even peripherally involved in high-performance computing, this is a development that you should be tracking very closely, and when the products become available, get one and start developing — you could be on the forefront of a major sea change in parallel application development.

Please note: This post was originally written by Technology Blogger - Richard Fichera on the Forrester Blog.
This post has been re-blogged for sharing. All credits go to Richard Fichera and Forrester Blog.

Tuesday, May 14, 2013

A Song of Hope?

I rode up the flight of stairs,
Awaiting my new dawn of days,
Stone hearted I had become,
To the passage of time I had succumbed.

Climbing up, I realized,
One more time why I was here tonight,
Time had finally come to let it go,
For a welcome news now stands at my door.

What I saw, I beheld,
The eyes of the bearer or suspense,
I glimpsed her face, through her hair,
Her smile awoke that mystic flair.

Like the air of mist of people and words,
I care did not, cut them with my sword,
On my path I walked along,
Sweet sound of the lady begetting strong,

I reached the podium, heart beating that sound,
I lift my thoughts that were left forlorn,
I smiled at her, and so did she,
Wondering what she was doing to me,

The time had come to say goodbye,
For the idiot stayed down on his side,
I told her still that I cannot leave,
A beautiful song, she whispered to me.

Now I stand at those crossroads strong,
Forbidding thoughts that have long gone,
Am I just a puppet for the master of time,
Can I pull the strings, take what's mine

These thoughts now, take a toll,
Mystery and Splendour, amidst furore,
What purpose lies in a hopeless fist
That fights for nothing or stands very still,

For hopes and dreams many lives fulfill,
What I have I got to comfort my will,
If I jump in, will she come along,
Or lose her too, to the past, begone!

Tell me now, Oh! Divine Voice,
I don't hear you sing, see you in my sight,
Is she dreaming too, do I have a choice?
Or am I running round in a Fool's Paradise?

Have mercy now, will you heed my call,
Have I done something wrong, you've made me fall,
Stone hearted you've made me become,
In this passage of time to which I've succumbed.

Tuesday, May 7, 2013

Keep Calm and Install Debian 7.0 Wheezy

Finally, after two years of being in development, the Debian development team announced that Debian 7.0 "Wheezy" is now out for people to download, try and install.

The Debian distribution has been known for its unwavering stability and rock-solid performance for many years.

Firstly, it is important to let you know that Debian Wheezy is based on the older and stable Linux 3.2 kernel. The latest version out is the 3.9 kernel used in other bleeding-edge distros like Fedora.

What's new on Wheezy?

Number 1 - Multiarch Support
One of the core foundations of Wheezy's development has been the Multiarch support. Technically, what this means is you can install 32-bit applications on your 64-bit installation of Debian Linux.

In their vision of building a true universal operating system, the Multiarch support allows cross building and better support for legacy 32-bit applications.

This will also enable live migrations from a 32-bit to a 64-bit application.

Number 2 - Deploying personal Clouds
Debian is a driving force for "freedom" and with that in mind, they've added additional tools that allow users to deploy their own personal clouds and services. In technicality, a full "Software as a Service" offering.

Wheezy will feature ready-to-use packages that can use with OpenStack and Xen Cloud Platform (XCP).

More on this can be read here.

Number 3 -Software-Speech Installation
For visually impaired users, who don't use a Braille device, this is possibly a blessing. The installation system is now available in 73 different languages out of which around a dozen of them are available for software speech synthesis.

Number 4 - UEFI Supported Boot
Although the developer community hasn't added support for "Secure Boot"* yet, Wheezy adds support for installation and booting using the UEFI for new 64-bit computers.

* - If your computer came with Windows 8 pre-installed, you'll have to disable secure boot and then use your system's UEFI menu to install Wheezy.

New Updates
Image Courtesy: Debian ;)

  • Apache 2.2.22
  • Asterisk
  • GIMP 2.8.2
  • an updated version of the GNOME desktop environment 3.4
  • GNU Compiler Collection 4.7.2
  • Icedove 10 (an unbranded version of Mozilla Thunderbird)
  • Iceweasel 10 (an unbranded version of Mozilla Firefox)
  • KDE Plasma Workspaces and KDE Applications 4.8.4
  • kFreeBSD kernel 8.3 and 9.0
  • LibreOffice 3.5.4
  • Linux 3.2
  • MySQL 5.5.30
  • Nagios 3.4.1
  • OpenJDK 6b27 and 7u3
  • Perl 5.14.2
  • PHP 5.4.4
  • PostgreSQL 9.1
  • Python 2.7.3 and 3.2.3
  • Samba 3.6.6
  • Tomcat 6.0.35 and 7.0.28
  • Xen Hypervisor 4.1.4
  • the Xfce 4.8 desktop environment
  • X.Org 7.7
  • more than 36,000 other ready-to-use software packages, built from nearly 17,500 source packages
Getting Debian 7.0 Wheezy

Head over to the Debian Project page for download methods, installation instructions and more.

There are more features on Debian 7.0 that I have not elaborated here. You can find all the missing information here.