Parallel Processing in NCAR Command Language for Performance Improvement

08/01/2013 - 4:30am to 5:00am
ML - Main Seminar Room
Ping Guo


The NCAR Command Language (NCL, is a data analysis and visualization package that is widely used in the climate and atmospheric sciences community. It includes over 600 built-in functions and procedures for processing and manipulating data. In the field of climate research, simulation datasets are becoming staggering in size, leading to increased computational demands and burdensome processing times for analysis and visualization. Our project focuses on optimizing the performance of NCL via parallel processing. We first tried to use OpenMP to optimize NCL built-in functions, some of which achieved significant speedup, such as “covcorm_xy”,  “eofunc”, “eofunc_ts”, and “dim_avg_n”. As NCL FFT (built-in functions “cfftb’’ and “cfftf”) didn’t show much speedup with OpenMP, we switched to use OpenCL and CUDA to explore the GPU-based parallel processing. The experimental results show that the significant speedup can be achieved when the size of the application is large enough, exceeding a certain size.