2015 年 35 巻 3 号 p. 173-183
The preparation for the launch of the Greenhouse gases Observing SATellite-2 (GOSAT-2) in fiscal 2017 has been progressing. Although the amount of observation data increases according to the changes, such as the increase in the number of bands in GOSAT-2 TANSO-CAI-2, it is not likely that of realization if the floor spaces to set up a ground system for the steady operational processing of the GOSAT-2 data significantly exceed that of GOSAT. To deal with this problem, we evaluated the usability of the graphics prosessing unit (GPU), which was designed for handling multiple tasks such as image processing simultaneously. Meanwhile the processing time is not usually simply inversely proportional to the processing capacity of the central processing unit (CPU) or GPU. It is necessary to compare different CPUs and GPUs in order to estimate the processing time on the basis of the processing capacity. For this reason, we compared the processing times of GOSAT TANSO-CAI L2 cloud flag processing with OpenMP (CPU), OpenACC (GPU), and CUDA (GPU) using three computers: Computer 0, Computer 1, and Computer 2. The results were as follows: 1) On Computer 2, the CPU multi-threaded code with OpenMP using an Intel Core i7-3820 was the fastest (25 msec). The primary reason that GPU multi-threaded code was slower than CPU multi-threaded code was the presence of a performance bottleneck for transferring processing data between the host and the device memory. Outside of the transfer between the host and the device memory, the GPU multi-threaded code with OpenACC or CUDA was 15.5 times faster than the CPU multi-threaded code. 2) In the case of converting double-precision floating-point variables to single-precision floating-point variables, the CPU+GPU hybrid parallel processing with OpenMP and CUDA on Computer 2 was the fastest (20 msec). The importance of CPU+GPU hybrid parallel processing will increase in the future as the data transfer speed between the host and the device memory becomes faster.