Friday, May 17, 2013

Survey on High Productivity Computing Systems (HPCS) Languages - Chapel, X10, and Fortress

Parallel languages have been focused towards performance, but it alone is not be sufficient to overcome the barrier of developing software that exploits the power of evolving architectures. DARPA initiated high productivity computing systems (HPCS) languages project as a solution which addresses software productivity goals through language design. The resultant three languages are Chapel from Cray, X10 from IBM and Fortress from Sun. We recognize memory model as a classifier for parallel languages and present details on shared, distributed, and partitioned global address space (PGAS) models. Next we compare HPCS languages in detail through idioms they support for five common tasks in parallel programming, i.e. data parallelism, data distribution, asynchronous remote task creation, nested parallelism, and remote transactions.

The full paper on this including working code is available at

Study of Biological Sequence Structure: Clustering and Visualization - Update 1

This is an update to the previous content at, which is done as part of my qualifier presentation. The work includes contributions from my colleague Yang Ruan as well.