Multicore NZ

February 2, 2010

Photos from miniconf (1)

Filed under: LCA2010 — multicoreblog @ 8:17 am

Part of the panel at the end of the miniconf: Paul Bone, Remo Williams, James Reinders (with the microphone), Timo Hoenig, Lenz, Nicolás Erdödy

Even as a member of the panel, Rob was searching for the next prime number…while Stephen and Paul were not paying attention!

Nicolas and Remo face to face just in case you had doubts that it was at LCA2010!

January 20, 2010

We did it!

Filed under: LCA2010, Multicore, Open Source, Parallel Programming — multicoreblog @ 9:10 am

On Tuesday 19 of January, 2010, the Open Source, Multicore and Parallel Computing miniconference was a real success.

We had an amazing number of presentations, a really interactive panel and a debate with continuous participation from the floor but above all, big fun!

An average of 60+ people attending every presentation demonstrated that the topic of Parallelism is gaining traction in the community.

Will post photos and other stuff (soon), this post is simply to say thanks to all the presenters and participants -who made insufficient the number of chairs initially allocated for the room.

Let’s keep the enthusiasm which was evident along the whole day!

Cheers!

Nicolas

January 15, 2010

Final Schedule for Open Source, Multicore and Parallel Computing miniconference

Filed under: Uncategorized — multicoreblog @ 4:30 am

SCHEDULE

10:30 – 11:10 – Lenz Gschwendtner – Erlang, MPI, and open standards

11:15 – 12:15 – James Reinders – TBBOpen Sourcing a Model for Parallel Computing

Lunch

13:30 – 13:55 -  Zhiyi Huang -View-Oriented Parallel Programming

13:55 – 14:10 – Matthias Meyer – Scientific high-performance computing

14:10 – 14:30 – Timo Hoenig – Extending the Scope of Mobile Devices Running GNU/Linux

14:30 – 15:15 Parallelism in Declarative Languages

14:30 – 14:50 – Stephen Blackheath – Haskell and Multi-core

14:50 – 15:15 – Paul Bone – Automatic Parallelism in Mercury

Interval

15:45 – 16:10 – Remo Williams – Titanic, Mars and Open New Zealand

16:10 – 16:25 – Rob Giltrap – Hunting for the World’s Largest Known Prime Numbers

16:25 – 16:50 – James Reinders – Teaching Parallel Programming

16:50 – 17:10 – Panel –Who needs Parallelism? Moderator Nicolás Erdödy

17:10 – 17:30 – Birds of a Feather – Open Source, Multi-core and Parallelism: “the” software?

November 29, 2009

Miniconf – Abstracts and Bios

Filed under: LCA2010, Multicore, Open Source, Parallel Programming — multicoreblog @ 7:40 am

Speakers of the Open Source, Multicore and Parallel Computing miniconf -

Wellington, NZ 19 January 2010

Schedule and Information about the miniconf

10:30 Lenz Gschwendtner – Erlang, MPI, and open standards

Abstract: This talk is about message passing environments with a focus on message queues and AMQP as an open standard using it and Erlang.

Bio: Lenz Gschwendtner is a true geek. Currently is CTO of idegeeo Group Ltd and Open Source Evangelist at Core Technology Ltd. Previously, he was CTO of united-domains and responsible for domains at Lycos Europe. Lenz likes Perl, Erlang and life in New Zealand.

11:15 James Reinders – Threading Building Blocks (TBB), open sourcing a model for parallel computing

Abstract: TBB is a very popular abstraction for parallelism in C++. The project was introduced in 2006, and then open sourced by Intel in 2007. The talk is an overview of both the project, its popularity and adoption, and why open sourcing was critical to its success and how Intel settled on open sourcing. James will speak to the important role open source should have for parallel computing. James will also present his three tier model for parallelism (TBB is one of them) showing how data, task and coordination should co-exist in an parallel application – and suggest what is needed to fill in the other two models.

Bio – James Reinders is Director and Chief Evangelist, Intel Software Development Products. He was the primary driver in leading Intel to open source TBB. James is an expert in the area of parallelism, Intel’s leading spokesperson on tools for parallelism and the author of the O’Reilly Nutshell book on TBB. James has decades of experience with high degrees of parallelism having worked on groundbreaking compilers and architectures such as the systolic arrays WARP and iWarp, and the world’s first TeraFLOP supercomputer (ASCI Red)

13:30 Zhiyi Huang – View-Oriented Parallel Programming (VOPP)

Abstract: View-Oriented Parallel Programming (VOPP) is a novel parallel programming model that uses views for communication between multiple processes. A view is a group of data objects in shared memory. VOPP requires that all shared data are partitioned into non-overlapping views. With the introduction of views, mutual exclusion and shared data access are bundled together in VOPP, which offers both convenience and high performance to parallel programming. Furthermore, VOPP can relieve the issues such as data race and deadlock in parallel programming. This talk will address the issues of VOPP such as programmability, performance advantages, portability, and limitation. It will also compare with other popular programming models such as MPI, OpenMP, and Transactional Memory. Finally, performance results of VOPP will be demonstrated through two example VOPP environments: VODCA and Maotai, which are implemented for cluster computers and multi-core computers, respectively.

Bio: Dr. Zhiyi Huang is a Senior Lecturer in the Department of Computer Science at the University of Otago, New Zealand. He received his BSc degree in 1986 and PhD degree in 1992 in Computer Science from the National University of Defense Technology (NUDT) in China. From 1992 to 1996, he worked as a Chief Technical Officer (CTO) in industry while also lecturing in the Department of Computer Science at the Beijing Institute of Technology (BIT). Then he worked at the School of Computing & Information Technology at the Griffith University in Australia as a Research Fellow from 1996 to 1998. Since 1998, he has been lecturing at the University of Otago. Dr Huang had been a visiting professor at EPFL (Swiss Federal Institute of Technology Lausanne) and Tsinghua University in 2005, and a visiting scientist at MIT. He is now the Technical Liaison of the Sun Microsystems Center of Excellence in OpenSPARC that is based in the University of Otago.


13:55 Matthias Meyer – Scientific high-performance computing — educational bottlenecks in academia

Abstract: Multi-core is coming of age since it is our only work-around for the current technological boundaries in chip design. It constitutes a shift in paradigm, no doubt associated with a steep learning curve. What impact does this development have in the scientific community? At first sight — none. On the one hand, parallel computation is nothing new to those few who explore the edge of computability using special high-performance machines. On the other hand, the programming skills of the average researcher in the natural sciences are surprisingly often limited to Excel & Co. This knowledge gap between `computer-able’ scientists and those who use it as a typewriter is large, and it has profound consequences. The advent of general-purpose parallel computing here yields huge opportunities for science and FOSS therein. In this talk I will show examples of scientific high-performance computations, and I will highlight a few software projects which aim at providing a bridge between usability and high-performance. This talk is shaped by my personal experience and will therefore include an assessment of the current state of affairs of scientific computing in NZ.

Bio: Matthias Meyer is a recent physics PhD graduate in the MacDiarmid Institute for Advanced Materials and Nanotechnology at Victoria University of Wellington, New Zealand. His work and interests in scientific computing (and the role of open-source therein), is directly related with (massive-) parallel computations.


14:10 Timo Hoenig – Extending the Scope of Mobile Devices Running GNU/Linux

While servers and desktop computers have enough resources to fulfill challenging tasks, small devices such as mobile phones, mobile Internet devices (MID), netbooks and laptops are often limited in their use due to the resources they have. As systems in the near environment of such devices often can provide more resources it would be desirable to share those. The talk will discuss ongoing research efforts for a solution of this problem and consist of an theoretic part (describing the challenges and design considerations) and a practical part (showing the utilized subsystems and interfaces). Using existing technologies such as ZeroConf, Bonjour and Avahi it is possible for devices to discover available resources autonomously. A target system is able to accept and release virtual CPUs at run-time in order to access resources of an underutilized system when available. The allocation and deallocation of resources is transparent for applications as the underlying technologies are being handled in kernel space.

Bio: Timo Hoenig is member of the research staff at the Department of Computer Science 4 (Distributed Systems and Operating Systems Group) at the University of Erlangen-Nürnberg (Germany) and Senior Software Engineer at Novell, Inc. / SUSE Linux Products GmbH. Timo had been working exclusively on open source over the last six years

14:30 Stephen Blackheath – Haskell and Multi-core

Abstract: Haskell is an advanced general-purpose functional programming language, and entirely open source. It offers some new approaches to programming for multi-core processors. This presentation will cover Haskell’s current state of the art, as well as the up-coming “Data Parallel Haskell” system, and research into GPU programming. It aims to make the community aware of what Haskell has achieved and what it promises in the future for parallel/multi-core programming.

Bio: Stephen Blackheath lives in Manawatu, New Zealand, but spent most of his life in Wellington. Stephen worked as a software developer on many large commercial projects, and contributed to several open source projects. Major technology areas are embedded systems, internet infrastructure, several web applications, and telematics. In 2007 he started a new project and decided to do some research into new technologies, including an attempt to find out what was the ‘best language’. Out of that process discovered Haskell and functional programming. Currently works for an American start-up writing a video game in Haskell for the iPhone.

14:50 Paul Bone – Automatic Parallelism in Mercury

Abstract: Most future performance improvements will come from the addition of extra processor cores. Harnessing this increase in computing power is difficult. When using traditional synchronisation methods it is easy to introduce bugs or cause poor performance. It is difficult to decide what should be parallelised, this involves understanding the runtime behavior of the program and the overheads of parallel evaluation. We present a method for automatically parallelising programs written in purely declarative languages. We argue that automatic profile directed parallelisation is feasible and reduces the time and cost of software development. NB: We recommend to attend the previous presentation about Haskell and Multi-core as it provides background information.

Bio: Paul Bone is a computer science research student at the University of Melbourne who completed his Honours project in 2008 in automatic parallelisation of programs written in purely declarative programming languages. Prior to this, Paul worked in industry, including a number of commercial open source projects. Paul also contributes to Mercury, a purely declarative logic language.

15:45  Remo Williams – Titanic, Mars and Open New Zealand

Abstract: This talk is about the use of open source in the parallel computing environments with which I have had the pleasure of working (specifically, for a NASA Mars mission ground data processing at the University of Arizona’s Lunar and Planetary Laboratory, as well as for Digital Domain’s special effects for Hollywood). I will add some future-thinking thoughts on NZ as a country where to develop an open source philosophy and put my particular experiences into context to share how important I believe Open Source Parallel Computing is.

Bio: Remo Williams is a California surfer and an Arizona skateboarder with a passion for high-performance computing and open-source software. His MSc. is in Electrical and Computer Engineering focused on distributed object computing for modeling and simulation, and lead him to the world of Hollywood special effects. At Venice Beach-based Digital Domain, he wrote code for what may have been the world’s largest render farm at the time, a distributed Linux cluster of 105 DEC Alphas created to render the computer graphics for “Titanic”. This eventually lead Remo to implement an open-source Beowulf cluster of 32 Fedora nodes for NASA’s 2001 Mars Odyssey spacecraft mission, at the University of Arizona’s Lunar and Planetary Laboratory. Using MPI to coordinate Monte-Carlo based simulation code to help scientists “reverse engineer” the chemical composition of Mars’ surface and atmosphere through data from Odyssey’s Gamma Ray Spectrometer, these modeling and simulation results helped gain a better understanding of our neighbouring planet, as well as guide landing locations for subsequent NASA missions to Mars. Having himself landed in Gisborne, New Zealand, where he continues to teach skateboarding, Remo joined the open-source development team for eXe, a content authoring tool for educators that earned the 2008 IMS Global Learning Impact finalist and People’s Choice Award. Remo is now a computing lecturer at Gisborne’s Tairawhiti Polytechnic, where he is an open-source evangelist at any opportunity, and guides students into open-source and parallel computing projects wherever possible.

16:10 – Rob Giltrap – Hunting for the World’s Largest Known Prime Numbers

Abstract: The Great Internet Mersenne Prime Search project has successfully found 13 new Mersenne Prime numbers and currently holds the top nine positions for the world’s largest known prime numbers. On any given day there are 60,000+ computers using spare computing cycles totaling over 43 TFLOP/s hunting for the next Mersenne prime number. Finds are rare (one every 1-2 years) and when one is discovered there is a race to rapidly verify the candidate, a process that typically takes over a week to complete. The Mlucas application (written primarily by Ernst W Mayer) is code developed for the fast verification of large prime numbers, driven by a high performance parallelised Fast Fourier Transform engine using OpenMP. In 2008, Mlucas was used to first verify what is currently the world’s largest known prime (a Mersenne prime at over 12.9 million digits in length) using 16 * SPARC64 VII CPU cores taking 13 days. This lightning talk will discuss the challenges of testing and tuning of the Mlucas application and system to deliver maximum performance at high core counts and then consider future challenges of utilising ever increasing core counts.

Bio: Rob Giltrap is a Solutions Architect for Sun Microsystems in New Zealand, focusing on high availability, high performance, mission critical system and storage solutions. A twenty year industry veteran he has a wealth of experience in squeezing the last ounce of performance out of systems and has verified the three largest known prime numbers in the last two years using large Sun systems. Rob has also been involved in many aspects of the open source community including running the local WellyLUG in it’s early years and was a founding member of the NZOSS Wellington branch.

16:25 James Reinders – Teaching Parallel Programming

Abstract: Intel has been helping universities put together parallel programming classes in its program to bring material and professors together. In mid 2009, a few of the people behind this also taught a 3 day intensive class at Brooklyn Technical High School to high school students and teachers. They used open source projects in their teaching, giving the student opportunities to continue afterwards on their own systems easily. The speaker, James Reinders, has been highly involved in the university programs and will talk about the status of the program and the directions he’d like to see in further teaching of parallelism.

November 28, 2009

Schedule of Miniconference

Filed under: LCA2010, Multicore, Open Source, Parallel Programming — multicoreblog @ 7:41 pm

Part of LCA2010, the miniconf “Open Source, Multicore and Parallel Computing” will be a full day event in Wellington, New Zealand, the 19th of January 2010

The confirmed Schedule is

this schedule was slightly CHANGED: see post of 15 January 2010

Abstracts and Bios of Speakers

November 6, 2009

Exaflop Computing

Filed under: High Performance Computing, Parallel Programming — multicoreblog @ 9:13 pm

The SC’09 will be next week in Portland, Oregon, USA.

“SC09 has adopted the theme of “Computing for a Changing World,” and will present world renowned speakers on initiatives related to Sustainability, Bio-Computing and the 3D Internet.”

“Over the next 5 years we expect the extended SC community to play an important role in leading the mainstream of computing into an era of parallelism. “

 

Some of the abstracts of the keynotes at SC’09 are particularly interesting

The Rise of the 3D Internet – Intel CTO, Justin Rattner

“Forty Exabytes of unique data will be generated worldwide in 2009. This data can help us understand scientific and engineering phenomenon as well as operational trends in business and finance. The best way to understand, navigate and communicate these phenomena is through visualization. In his opening address, Intel CTO Justin Rattner will talk about today’s data deluge and how high performance computing is being used to deliver cutting edge, 3D collaborative visualizations. He will also discuss how the 2D Internet started and draw parallels to the rise of the 3D Internet today. With the help of demonstrations, he will show how rich visualization of scientific data is being used for discovery, collaboration and education.”

A couple of other presentations caught my attention (apart from Al Gore and his view on climate change :-)

HPC and the Challenge of Achieving a Twenty-Fold Increase in Wind Energy

The Outlook for Energy: Enabled with Supercomputing

“The presentation reviews ExxonMobil’s global energy outlook through 2030. The projections indicate that, at that time, the world’s population will be ~8 billion, roughly 25% higher than today. Along with this population rise will be continuing economic growth. This combination of population and economic growth will increase energy demand by over 50% versus 2000. As demand rises, the pace of technology improvement is likely to accelerate, reflecting the development and deployment of new technologies for obtaining energy–to include finding and producing oil and natural gas. Effective technology solutions to the energy challenges before us will naturally rely on modeling complicated processes and that in turn will lead to a strong need for super computing. Two examples of the supercomputing need in the oil business, seismic approaches for finding petroleum and petroleum reservoir fluid-flow modeling (also known as “reservoir simulation”) will be discussed in the presentation.”

 

An interesting way to put all these ideas in a less “marketing driven” context is to read the interview with Rick Stevens from Argonne, about “reaching the next milestone in computing history: the exaflops computer.”

I tried to summarise the article, but actually it’s simply better that you go through it and have a glimpse of the future of Supercomputing, which soon (10 years?) won’t be supercomputing but just computing.

So, what’s exaflops?

FLOPS = In computing, FLOPS (or flops or flop/s) is an acronym meaning FLoating point Operations Per Second. The FLOPS is a measure of a computer’s performance, especially in fields of scientific calculations that make heavy use of floating point calculations, similar to the older, simpler, instructions per second. (Wikipedia)

exaFLOPS = 10^18 = 1, 000, 000, 000, 000, 000, 000 operations per second.

 

That’s why Rattner is so excited about 3D internet and other applications.  In this very good interview, he starts by saying that 3D internet is where HPC “goes consumer.”

The article from HPC wire has a good history of HPC and different players, and finishes quoting Rattner saying:  “If the 3D, immersive experience becomes the dominant metaphor for how people experience the internet of tomorrow, we won’t have to worry about who will build the processors and computers that do HPC. Everyone will want to be a part of that.”

 

Are you planning to be “part of that”?

 

Nicolás Erdödy

North Otago, New Zealand

 

October 19, 2009

James Reinders (Intel) will be presenting in Wellington in January 2010

Filed under: Education and Training, LCA2010, Parallel Programming — multicoreblog @ 7:47 am

James Reinders,  Chief Software Evangelist and Director of Intel Software Development Products will be one of the keynotes at the Miniconference “Open Source, Multicore and Parallel Computing” in Wellington, 19 January 2010.

James is an expert in the area of parallelism, Intel’s leading spokesperson on tools for parallelism, and author of the O’Reilly Nutshell book on the C++ extensions for parallelism provided by the popular Intel Threading Building Blocks (TBB)

Will post shortly the abstract of his presentation (around TBB of course) but want to highlight a shared interest: teaching parallelism in high schools. More in this post

Shortly will be posting more information about James activities during his visit.

Nicolás Erdödy

Oamaru, New Zealand

September 22, 2009

Talking Parallel with James Reinders (Intel)

Filed under: Education and Training, Parallel Programming — multicoreblog @ 9:09 pm

I’ve been invited to “the exclusive Talk Parallel session” with James Reinders this Thursday, Sept. 24, at 8 a.m. PST. (brrrr!! it will be 3:00 am Friday 25 in New Zealand!!)

I already warned wife and kids that they don’t need to worry about me turning insomniac and talking parallelism in the middle of the night…It is just an example of the sacrifices of entrepreneurship…:-))

With 20 years at Intel, today James is the Chief Evangelist + Director of Marketing & Sales Development at Intel’s Software & Solutions Group, based in Portland, Oregon. But above all, looks like a cool guy from our email and LinkedIn exchanges.


“…the live chat will take place via the Internet, so no phone call-in will be needed. We hope this will be most convenient for the participants on the road at IDF.”


The invitation keeps saying: “So, what’s different about this session with James? Talk Parallel is an opportunity to submit your questions, plus gain insight from the dialogue with others who are also deeply involved in writing and thinking about parallelism. As a preview of the questions James will address, here’s a sampling of a few submitted by your peers:

Do you have plans to add support for other programming languages in future Intel® Parallel Studio and Intel® Parallel Advisor versions? Are C#* and/or Java* in the future plans?
The Von Neumann bottleneck will ultimately limit the number of cores connected to an individual memory. I see a hybrid future of blended OpenMP* and MPI* algorithms. What future do you see, what predominant architectures, and what programming paradigms?
Is the penny starting to drop among developers who fail to see independent streams and take advantage of parallelism again and again?

Horizontal rule

I also submitted my questions :-)

But will post later a balance of the conversation.

What caught my attention earlier this year about James’ activities was the workshop on teaching parallelism in a high school (see post). The best summary of this initiative is the sentence “…plant seeds in minds that can solve problems that don’t yet exist”. This article also gives a brief about the experience.

Then I started to think that if it is possible in high school, why not primary school.

Next week will meet with the Principal of the school of my 9 years old son…If Piaget studied his children to develop his theories, why not try with the (less?) ambitious goal of “thinking parallel” from scratch?

Nicolás Erdödy

Oamaru, New Zealand

September 15, 2009

HPC is ready for business

Filed under: High Performance Computing — multicoreblog @ 11:04 pm

“HPC is ready for business” is the title of a virtual conference organised by Sun Microsystems.

It will be on September 17, 2009 and has free access.

From the website

“Join us for the only virtual conference dedicated to the best in high performance computing. The online event will give you an opportunity to hear from compute and HPC guru Andy Bechtolsheim and industry experts discussing the trends and issues facing the computational ecosystem.”

“There will also be industry and technology exhibits offering virtual opportunities to discuss technologies, accomplishments, and collaborations in HPC, networking, storage, software, and data management. Come learn how High Performance Computing has truly become business ready.”

Even if you don’t attend, it’s worth have a look at the site. There are interesting resources, including a book: “HPC for dummies” :-) (don’t get confused by the title: it is written by Douglas Eadline, Senior HPC Editor for Linux Magazine so it’s serious reading!)


September 10, 2009

The business model for Parallel Programming

Filed under: Models, Multicore, Parallel Programming — multicoreblog @ 12:32 am

A recent article at Infoworld (August 26) has a classic title

“Parallelism needs killer application for mass adoption”

The writer reports from Hot Chips 21 , a symposium on high performance chips held in August at Stanford University and sponsored by IEEE.

However, the article presents a number of general issues in an easy to read way so it is worth to reproduce most of the article below (I added some links to explain names. Also highlighted concepts that inspired the title of this post):

“The addition of multiple cores to microprocessors has created a significant opportunity for parallel programming, but a killer application is needed to push the concept into the mainstream, researchers said during a panel discussion at the Hot Chips conference.”

“Most software today is still being written for sequential execution and programming models need to change to take advantage of faster hardware and an increasing number of cores on chips, panelists said. Programmers need to write code in a way that enables tasks to be divided up and executed simultaneously across multiple cores and threads.”

“A lot of focus and money have gone into building fast machines and better programming languages, said David Patterson, a computer science professor at the University of California, Berkeley, at the conference in Stanford on Monday.” “Comparatively little attention has been paid to writing desktop programs in parallel, but applications such as gaming and music could change that. Users of such programs demand the best real-time performance, so programmers may have to adopt models that break up tasks over multiple threads and cores.”

“For example, novel forms of parallelism could improve the quality of music played back on PCs and smartphones, Patterson said. Code that does a better job of separating channels and instruments could ultimately generate sound through parallel interaction.”

“The University of California, Berkeley, has a parallel computing lab where researchers are trying to understand how applications are used, which could help optimize code for handheld devices. One project aims to bring desktop-quality browsing to handheld devices by optimizing code based on specific tasks like rendering and parsing of pages. Another project involves optimizing code for faster retrieval of health information. The lab is funded primarily by Intel and Microsoft.”

“Berkeley researchers are trying to bring in parallelism by replacing bits of code originally written using scripting languages like Python and Ruby on Rails with new low-level C code. The new code specifically focuses on particular tasks like analyzing a specific voice pattern in a speech recognition application, Patterson said in an interview Wednesday. The code is written using OpenMP or MPI, application programming interfaces designed to write machine-level parallel applications.”

“Experts are need to write this highly specialized parallel code, Patterson said. It reduces development time for programmers who would otherwise use Python and Ruby on Rails, which make application development easier, but do not focus on parallelism, Patterson said in the interview. The lab has shown specific task execution jump by a factor of 20 with the low-level machine code.”

“The concept of parallelism is not new and has been mostly the domain of high-performance computing. Low levels of parallelism have always been possible, but programmers have faced a daunting task with a lack of software tools and ever-changing hardware environments.”

“Threads have to synchronize correctly,” said Christos Kozyrakis, a professor of electrical engineering and computer science at Stanford University, during a presentation prior to the panel discussion. Code needs to be written in a form that behaves predictably and scales as more cores become available.”

“Compilers also need to be made smarter and be perceptive enough to break up threads on time so that outputs are received in a correct sequence, Kozyrakis said. Faulty attempts to build parallelism into code could create buggy software if specific calculations are not executed in a certain order. That is a problem commonly referred to as race conditions. Coders may also need to learn how to use multiple programming tools to achieve finer levels of parallelism, panelists said.”

“There’s no lazy-boy approach to programming,” Patterson said at the conference.

“Memory and network latency have created bottlenecks in data throughput, which could negate the performance achieved by parallel task execution. There are also different programming tools for different architectures, which make it difficult to take advantage of all the hardware available.”

“Many parallelism tools available today are designed to harness the parallel processing capabilities of CPUs and graphics processing units to improve system performance. Apple, Intel, Nvidia, and Advanced Micro Devices are among the companies promoting OpenCL, a parallel programming environment that will be supported in Apple’s upcoming Mac OS X 10.6 operating system, also called Snow Leopard , which is due for release Friday. OpenCL competes with Microsoft, which is promoting its proprietary DirectX parallel programming tools, and Nvidia, which offers the CUDA framework.”

OpenCL includes a C-like programming language with APIs to manage distribution of kernels across hardware such as processor cores and other resources. OpenCL could help Mac OS decode video faster by distributing pixel processing across multiple CPU and graphics processing units in a system.”

“All the existing tools are geared toward different software environments and take advantage of different resources, Patterson said. OpenCL, for example, is geared more toward execution of tasks on GPUs. Proprietary models like DirectX are hard to deploy across heterogeneous computing environments, while some models like OpenCL adapt to only specific environments that rely on GPUs.”

“I don’t think [OpenCL] is going to be embraced across all architectures.” Patterson said. “We need in the meantime to be trying other things,” like trying to improve on the programming models with commonly used development tools, such as Ruby on Rails, he said.”

(…)
“Kozyrakis said Stanford has established a lab that aims to “make parallel application development practical for [the] masses,” by 2012. The researchers are working with companies like Intel, AMD, IBM, Sun, Hewlett-Packard, and Nvidia.”

“An immediate task test for developers could be to try to convert existing legacy code in parallel for execution on modern chips, Berkeley’s Patterson said. A couple of companies are offering automatic parallelization, but rewriting and compiling the legacy code originally written for sequential execution could be a big challenge.”

“There’s money to be made in those areas,” Patterson said.


It sounds like telling someone in 1993 that it is money to be made by learning/trying/using Linux…Even if you start today, there will be a huge demand for your skills as an individual or a start up and by working in this space, you’ll be better positioned to take opportunities and even build specific platforms.

The real killer app is not on doing things faster or better with the new hardware that today are already possible. It will come by the use of the new hardware (manycore and more) for applications that we are not even imagining that could be possible today…

And the Open Source model will be prevalent, OpenCL and DirectX are still “competing” in the “old scenario”

Is interesting to watch the evolution, but wouldn’t be more fun to be part of it?

Nicolás Erdödy

Oamaru, NZ

Older Posts »

Blog at WordPress.com.