Monday, August 6, 2012

Matlab and Python for High Performance Numerical Computing


High performance computing has traditionally relied on languages such as Fortran, C, and  C++.
While these languages continue to be important, their use involves considerable training and expenditure of time in developing, compiling, and debugging the programs. Furthermore, there is no easy way of visualizing/analyzing results of numeric computations within these languages. Recently, increased use is being made of two computation tools: Matlab (commercial) and Python (free).

The chief advantages of these two "languages" are:

1) Ability to rapidly prototype.

2) Availability of a large set of libraries to perform specific computing tasks. Matlab has the libraries as add-ons (costing extra!) while python has a growing list of libraries developed by enthusiastic users/developers.

3) Rapid visualization/animation. Matlab is particularly well suited for a novice as it has a single point of entry for all tools. Python has a good set of tools and more are being added constantly.

One area of interest to most users is the performance penalty one has to pay for using these tools. There is some good news on that front. Many benchmarking exercises have been performed using both Matlab and Python (with Numpy) and the performance is quite good (see links below). In particular, Matlab and Python (with Numpy) have similar performance characteristics.  While compiled languages (eg., Fortran, C, C++) still perform better for many tasks, they cannot compare with Matlab or Python
for rapid prototyping. Furthermore, both python and Matlab interface well with routines written in Fortran, C and C++. I have given some links below that add more details to the points discussed here.

Python:
---------

Usually python + numpy + matplotlib, but there are others. One could get started with something like Entought Python Distribution (EPD).


Matlab:
---------



Python and Matlab:
------------------------


Performance comparison of Matlab, Python, Fortran, C, C++, etc.
-----------------------------------------------------------------------------------

Comparison between different languages is difficult. This is especially true for Matlab and Python as both are evolving constantly. Also, the performance with different languages depends on the particular algorithms, compilers (if any) and compiler options, additional numerical libraries (eg. Intel MKL), and the hardware characteristics. Thus, one should not take the results of any particular comparison too seriously and look for general characteristics.


Thursday, January 26, 2012

Problems accessing code.seas.harvard.edu with FAS credentials

Some users have reported problems accessing the code.seas.harvard.edu source code repository server using their FAS username and password. This appears to be a problem with the system FAS uses to synchronize passwords multiple backend databases.

In most cases, changing your FAS password at http://idm.fas.harvard.edu/ will correct the problem.

If you continue to experience difficulties accessing code.seas after changing your FAS password, please contact Academic Computing at achelp@seas.harvard.edu.

Thursday, January 12, 2012

Virtual desktop server online

The SEAS virtual desktop server "nx.seas.harvard.edu" is back up and accepting connections. All previous sessions will be lost because of the downtime, so any new connection will be presented with a fresh desktop. Let us know ASAP if you encounter any issues.

SEAS Academic Computing services mostly back online

As of 8 pm this evening, all core SEAS Academic Computing services were back online, including the main HPC cluster and the login interactive compute host "wumpus." The GPU cluster remains offline, and is scheduled to be built and running tomorrow (Friday, January 13). We are working on bringing back online the virtual remote desktop service "nx.seas.harvard.edu".

We believe most hosted services are up and running, but are in the process of reviewing and fixing services that did not come back up cleanly. We expect that by tomorrow morning all services except for the GPU cluster will be back online.

Thanks to all for your patience as we finalize this relocation to our new, better facility!

The AC Team

Wednesday, January 11, 2012

SEAS Academic Services shutdown on January 12 - January 13, 2012

From Thursday, January 12 at 6 a.m. to Friday, January 13 at 5 p.m., most Academic Computing services will be offline. This shutdown will affect storage, compute clusters, cloud, virtual hosting, and web services, but will not affect core EECS services such as email or storage.

Tuesday, December 27, 2011

Beginning of service interruption

Good evening! We have started shutting down services in preparation for tomorrow's power outage. If you would like to follow along with our work this evening (and on Thursday morning as we bring things back up), visit our technical blog where we will be posting updates throughout the process.

Tuesday, December 20, 2011

Maxwell Dworkin power outage


What: All Academic Computing services unavailable due to Maxwell Dworkin power shutdown
Beginning: 5:00PM Tues, Dec. 27, 2011
Ending: 5:00PM Thurs, Dec. 29, 2011

Due to the Maxwell Dworkin power shutdown on Wed, Dec. 28, we will be taking all Academic Computing services (storage, compute clusters, cloud services) offline at 5:00PM on Tues, Dec. 27, and restoring services at or before 5:00PM on Thurs, Dec. 29. This downtime is necessary to prepare for and recover from the power shutdown. If we need to communicate any updates during this maintenance period we will post them to http://blog.ac.seas.harvard.edu/.

If you have any questions about this announcement, please contact us via email to achelp@seas.harvard.edu.