2 Minutes With…是一个系列的短片,向我们介绍劳伦斯大学学生在校内外的激情和兴趣。
22岁的贾斯汀·威廉姆森(Justin Williamson)在家乡亚利桑那州凤凰城上高中时,经常利用午餐时间问物理老师各种关于世界如何运转的问题。现在,他对物理和空间的好奇心在他的第一个大型3d图形项目中达到了顶峰。
在劳伦斯体验式学习基金(ELF)的帮助下,这位计算机科学和法语双学位的学生完成了一项长期的模拟两个星系碰撞的尝试。在校友和其他捐助者的支持下,该基金帮助学生获得暑期实习机会、自主研究和项目,以及更多增强学习经验的机会。
威廉姆森在寒假期间完成的模拟只是他花了大约五年时间修修补补的一个项目的一次迭代。他早期的模拟版本描绘了100到200颗恒星。在7.5亿年的碰撞中,这一数字增长到大约5万颗恒星。更多的明星意味着更多的计算能力,以及更多的技能。区别在于在CPU(中央处理单元)和GPU(图形处理单元)上编程。
威廉姆森说:“大多数程序在CPU上运行,它擅长进行串行计算,但不能进行5万次相同的计算。”“但GPU擅长这种计算。这是非常不同的,因为你必须考虑同时发生的一切,而不是排序。”
来自ELF的帮助
这就是津贴的由来。威廉森一直在与就业中心合作寻找实习机会,他们发来了一封详细介绍ELF的电子邮件。这是威廉姆森第一次在GPU上编程,所以为了实现他的目标,一些额外的研究是必要的,这也带来了额外的费用。
“(这笔基金)让我很容易就能买到书,”威廉姆森说。“此外,我还为我的电脑加了一点硬件,让它运行得更好。如果我没有津贴,我想我不可能在假期里完成它。”
编写这样的模拟程序可能是一场赌博。威廉姆森相信他的计算。他回忆起最后的关键时刻:让模拟运行一整夜。
他说:“我不知道前一天晚上它是否会起作用。”“那天我遇到了两三个微妙的错误。一旦计算开始,赢博体育的恒星都会瞬间消失。所以,这一切都可能是徒劳的。但当我真正看到模拟时,我对所发生的事情感到惊讶。”
必要的帮助
帮助威廉姆森实现目标的不仅仅是经济上的刺激。他对编程的热情得到了过去的支持。
“我非常感谢我的高中物理老师,”威廉姆森说。“我花了两三个小时打电话给他,试图解决我的数学问题。”
这次成功的模拟证明了Williamson在计算机编程方面的技能不断提高,但这绝不是终点。他希望最终能模拟出拥有100万颗恒星的星系。但这些都是以后的计算。
看星系碰撞在这里.
贾斯汀威廉姆森
年级:2022
主修:计算机科学和法语
家乡:凤凰城