Robby DeMartino’s Week 2 Blog
This week, I concentrated on getting myself up-to-speed with the mini-Black Holes project (see introduction blog for a brief explanation of the project). I reviewed the code already written, with the generous help of Mr. Downing (my on-site mentor) and the other student members of the mini-Black Hole research group. The knowledge and expertise that they have shared with me regarding the topics has been invaluable to my growth and understanding of the research project.
I also made my first major contribution to the mini-Black Holes research! In the process of trying to comprehend the code, I added a few lines of code in order to help debug some errors. Unfortunately, the code ran very slowly, and so I attempted to speed it up. I was able to through the use of multiprocessing. Computers nowadays have CPUs (the main computing component of a computer) that have multiple cores. Each core can act independently as it’s own miniature computing device. Multiprocessing allows one to write code which efficiently allocates tasks to these cores so that multiple tasks can be done simultaneously. This can significantly reduce the run time for a program. Luckily, in Python, implementing multiprocessing can be very easy. These two webpages helped me implement multiprocessing into the code. This improvement helped reduce the run time to a third of what it was previously.
I am very excited that I finally made my first real contribution to the project this week and cannot wait to add more to the research. Thank you so much for reading this blog post and if you have any questions, please leave a comment and I would be happy to do my best to answer it.