July 26, 2018 - by Valentina Tamburello

Why did you decide to do an internship at CSCS?

Starting to get tired of the university life and in an effort to gain some work experience before finishing my studies, I applied for an internship at CSCS. Shortly after my application I had an hour long video call with Claudio Gheller, the mentor of the internship. In the call he explained to me that the internship is about porting parts of GADGET to the GPU using OpenACC. About one and a half month later, I got the awesome news that I got the position as an intern at CSCS, starting mid-February. After arriving in Lugano, I spent the first few days getting used to the code and understanding what exactly my task was. Luckily, during this time Antonio Ragagnin, who is our contact person from the GADGET team, was also in Lugano for a few days.

Can you tell us more about the project and the difficulties (if any) you had?

My job was to port the cooling and star formation functions of GADGET to the GPU. Getting the code to run on the GPU was not too complicate. However, after measuring the performance of my GPU port for the first time, I found out that the performance of the GPU was over an order of magnitude worse than the performance of the same code on the CPU. I realized that the challenge was not
to get the code to run on the GPU, but to get a good performance on the GPU. Therefore I spent the following months optimizing various things in the code and fixing the bugs I introduced while doing so. At the end of May, shortly before the end of my internship, finally the GPU was performing better than the CPU.


What have you learned during your interniship?

During my stay at CSCS I learned a lot about using GPUs to accelerate applications. I gained a lot of practical experience with OpenACC and GPU programming in general. In addition, I also learned how to profile GPU applications and analyze their performance in order to increase the efficiency of the code.

What did you like about CSCS?

The best thing about CSCS is the people working there. Everyone is super friendly and happy to help out if you have a problem. Also, I had the opportunity to go into the machine room and look at the supercomputers there, which was very cool. 

What are your future plans?

After finishing the internship I have a nice summer to enjoy ahead of me. Then, in September, I will return to ETHZ to finish my masters degree in computer science.