Title :
Octave and Python: High-Level Scripting Languages Productivity and Performance Evaluation
Author :
Chaves, Juan Carlos ; Nehrbass, John ; Guilfoos, Brian ; Gardiner, Judy ; Ahalt, Stanley ; Krishnamurthy, Ashok ; Unpingco, Jose ; Chalker, Alan ; Warnock, Andy ; Samsi, Siddharth
Author_Institution :
Ohio Supercomput. Center, Columbus, OH
Abstract :
Octave and Python are open source alternatives to MATLAB, which is widely used by the High Performance Computing Modernization Program (HPCMP) community. These languages are two well known examples of high-level scripting languages that promise to increase productivity without compromising performance on HPC systems. In this paper, we report our work and experience with these two non-traditional programming languages at the HPCMP Centers. We used a representative sample of SIP codes for the study, with special emphasis given to the understanding of issues such as portability, degree of complexity, productivity and suitability of Octave and Python to address signal/image processing (SIP) problems on the HPCMP HPC platforms. We implemented a relatively simple two-dimensional (2D) FFT and a more complex image enhancement algorithm in Octave and Python and benchmarked these SIP codes on several HPCMP platforms, paying special attention to usability, productivity and performance aspects. Moreover, we performed a thorough benchmark containing important low level SIP core functions and algorithms and compared the outcome with the corresponding results for MATLAB. We found that the capabilities of these languages are comparable to MATLAB and they are powerful enough to efficiently implement complex SIP algorithms. Productivity and performance results for each language vary depending on the specific task and the availability of high level functions in each system to address such tasks. Therefore, the choice of the best language to use in a particular instance will strongly depend upon the specifics of the SIP application that needs to be addressed. We concluded that Octave and Python look like promising tools that may provide an alternative to MATLAB without compromising performance and productivity. Their syntax and functionality are similar enough to MATLAB to present a very shallow learning curve for experienced MATLAB users
Keywords :
authoring languages; fast Fourier transforms; image enhancement; military computing; public domain software; software performance evaluation; 2D fast Fourier transform; High Performance Computing Modernization Program Centers; Octave; Python; high-level scripting languages; image enhancement; open source alternatives; performance evaluation; signal and image processing codes; Algorithm design and analysis; High level languages; High performance computing; MATLAB; Mathematical model; Physics computing; Productivity; Prototypes; Refining; Usability;
Conference_Titel :
HPCMP Users Group Conference, 2006
Conference_Location :
Denver, CO
Print_ISBN :
0-7695-2797-3
DOI :
10.1109/HPCMP-UGC.2006.55