Once upon a time there was a little girl. Her name was Katerina. Katerina was a great warrior. Until one day she came across with a great challenge: PRACE Summer of HPC. ‘I have to try it’, she thought. When it was announced that she was one of the 20 brave warriors that would spend their summer dealing with monsters of supercomputing, she was really proud of herself. Her duty was to perform calculations of nanotubes by utilizing the helical symmetry properties. ‘Ok. I can do this. It is not that hard.’ , she said.
But then she noticed a little detail, written in tiny letters: ‘This monster will be defeated only if you parallelize its routines. Your only tools will be MPI(Message Passing Interface) and OpenMP.’ She got worried. ‘Can I really do this?’, she thought. But then the leaders reassured her that she is going to be trained by the best masters of MPI in Juelich (Germany), in order to be able to handle these weapons in the best way possible.
And so it began..
During their training the great warriors were exhausted, because they had to master every single weapon they were going to need; from MPI to Paraview and other tools for visualization. Despite the long hours of training, they actually had a great time and a lot of fun, because they liked what they were doing. And so they decided to stay in touch and actually become a team against the monsters of supercomputing.
But this week was over. Now Katerina had to go to her final destination, Bratislava. And there she is..at point zero.
And so the adventure begins. On her first day in the Slovak Academy of Sciences, she was given the serial code she had to cope up with. ‘It doesn’t seem to be so bad’, she thought. But she knew nothing. The code has never been tested before in a supercomputer, so an army of wild bugs appeared out of nowhere. Luckily, Lukas was there to help them go through them. Lukas is like a wizard; when he starts messing with the code, suddenly a miracle happens, and everything is fixed. No compilation errors can defeat him and when he teamed up with Katerina, united, they vanished every single one of the compiling errors.
She started getting acquainted with the HF SCF calculation of nanotubes within the DIRCCR12-NANOTUBE ab-initio program using helical screw symmetry and Bloch orbitals based on expansions in the basis of Gaussian type atomic orbital functions. And she also started learning the structure of the program, and compiled it different platforms in a sequential mode ( done for Aurel under AIX).
But then, while everything seemed to be working out great, a vicious segmentation fault comes out of nowhere. No change in the makefiles could eliminate it. But what about changes in the allocations..? Is this going to work?
To be continued..