At Blue Waters Institute, Students Use Parallel Computing, Super Computer, to Speed Up Research

June 28, 2017

Blue Waters Institute Interns

With the goal of learning High-Performance Computing (HPC), 26 students were on campus from May 29th through June 9th as part of the 2017 Blue Waters Institute. While some were graduate students from the XSEDE project, 18 were undergraduate Blue Waters Interns. Not only did these interns spend two weeks learning about parallel computing, but over the next year, they will continue to use their newly acquired HPC skills—and the Blue Waters Super Computer—to analyze data for their Blue Waters research projects back at their home institutions.

The institute is designed to introduce non-computer-science students to parallel computing. According to Institute instructor Aaron Weeden, it’s useful in fields other than computer science as well. “Understanding how code is running when it’s on the system is really important,” he explains.

Weeden reports that when recruiting for the institute, they identified students who had a desire to learn High-Performance Computing (HPC) in order to more efficiently complete a project they were working on, and whom they thought could become proficient with a two-week institute. “This batch of students is motivated,” he says, “they want to become very proficient at high-performance computing, particularly with many-core systems. Students are able to collaborate with each other, and everybody is learning from everybody.”

Monet Alberts from Boise State University

Monet Alberts

One participant, Monet Alberts, a rising junior studying material science engineering at Boise State University, shares how she ended up in the program. Last year, a professor had suggested that she try his computational engineering lab, so she did, and ended up really liking it. Then, a day before the Blue Waters application was due, her professor emailed her about it saying, “If you really want to do this, let me know, and I will write a proposal for a project tonight, and you can apply for it tomorrow, before the deadline.” Her response was, “Okay!" so here she was.

Her research—epoxy simulations—uses different temperature profiles to determine how an epoxy is going to cure and the mechanical properties that are going to come out of the shapes that they make. Since making parts is really expensive, industries can save on costs by figuring out reaction kinetics and simulating them before the parts are actually made.

Before coming to the Institute, Alberts had only used Python, never C or any parallel computing. However, she believes she’s going to be able to use the new coding she’s learned—and the Blue Waters supercomputer—to significantly speed up their calculations. “What we've really been trying to do is speed up our bonding routines…that's what really takes us the longest. Our simulations, at least the ones that I run, usually take about 21 hours for one simulation. That waiting time is pretty expensive computationally, and that's the reaction of bonding that's taking so long. If you have 50,000 particles and they're all bonding with one another or what have you, that's what's going to take the longest in all of the code.”

Monet says it's been a lot to learn. “I have to go through everything that I'm learning—not while I'm in class. Later in the day [I think about how] I'm going to apply it to my own stuff. There's some things that I've learned that I know, maybe I can't apply to it, but there's definitely a lot of stuff that I've learned that I think will really help. Not just that, but I've never coded in C before. I started off in Python, I've never used anything else. Python is my baby. So learning all of this stuff is really cool and being able to see my Python code into C code is something that is definitely going to be a challenge but something that I think I'll be able to do.”

During the tour of the Petascale Institute, two Blue Waters Interns, Monet Alberts and Caroline MacDonald, get an upclose look at the Blue Waters supercomputer.

Monet is already strategizing on how she’ll be able to use parallel computing in her research. She plans on breaking the simulation box into sections so each tiny box can be done at the same time and using MPI to communicate between the boxes.

“MPI is what you can use to communicate between processes,” she explains. “Before, I wasn't able to break up my box because I wasn't able to get atoms in one section to communicate to the atoms in the next section which is important, because they're not acting independently of one another. So I can use MPI to get them to communicate with one another so that they know if something has bonded too many times, atoms in the next box can't bond to that.”

However, should she have any questions once she’s back home, the researcher she’s working for should be able to help.

During the Blue Waters tour, students get a look at a model of the supercomputer.

“He knows everything,” Monet brags. “Whenever I ask him a question, he has the answer. He knows, I'm pretty sure, every programming language you can think of. He's very smart with these things. Before we came, we did a little crash course on C. We did a few things, but not necessarily as extensively as we are doing here. But it definitely helps. When I came in, I knew what specific lines met, so when I get back I know for sure that I'm going to have a good resource to go to if I ever have any questions.”

Monet also believes her participation in the Institute may impact her career choice. Her dream job is to work for Boeing. In fact, the reason she started working on epoxy simulations is because her mentor has some ties with the company. Bus she’s also looking into getting a PhD in biomedical engineering. But for now, she’s wrestling with how to use her new computational skills in her undergraduate work. “Lately, I've been exploring ways to do that, that haven't been done yet. So that's really exciting to me because that's something that I could do and maybe put my name on.”

Alberts definitely believes she’s going to be using HPC down the road. “Python is really good for a lot of things but there's some things that it can't do. So learning these different languages is really going to help…I think it's going to give me kind of a leg up over people that don't know these languages.”

Xavier White

Another Blue Waters Intern, Xavier White, is a rising junior at Kean University (in Union, NJ) who is studying computational applied mathematics with a focus on the computational side.

He indicates that he decided to participate in the program, “primarily for the experience and to learn how to take my computing to the next level.” Though he already has a pretty good focus on computing at his own institution, his mentor told him the Blue Waters Institute would be a really great opportunity to learn how to do high-performance computing, “so I came here to expand my horizons,” he admits.

White believes he’s definitely going to be able to use HPC in his computational math. “Even as they teach it [HPC] to me, I immediately equate it to something I can do within my own code…Pretty much every time I learn something new, I automatically think of how I can use that for our already-standing project and just make it better, faster, more efficient.”

Xavier White from Kean University

White says some of the programming languages he’s encountering are brand new: “That's where I feel like I'm a little bit behind the curve because…I had never even heard of some of these high-performance computing languages. I primarily coded in Java and C#, which are pretty good for serialized computing but when you get to parallel computing, I'm seeing now, that they aren't necessarily the best options and then you have programs like C and Python and all these different like GPGU coding systems and things like that, where I had never even conceptualized that I might use those languages.”

White is looking forward to implementing what he’s learned: “By far, the thing I'm most excited to use that I've learned is Open MP and MPI, which are basically parallelization tools that use either one processor in a number of ways or multiple processors in multiple ways. I've learned how to incorporate that into C, which I took a crash course in when I got here, so I guess you could say I learned C as well. I also learned how to use those open MP and MPI protocols to make C program writing exponentially faster.”

Once White gets back to his home university, he hopes to use Blue Waters for testing, more than towards the actual project that he’s working on. “It's an unbelievable resource as far being able to run multiple tests. Whereas, it would take me a couple of days to run hundreds of tests on my laptop, maybe even weeks. I probably could do it in a couple of hours on Blue Waters.”

White believes HPC is definitely in his future. Before he came to the university, he says he was planning to start his own software engineering firm, but reports “I had never really found motivation to get it off the ground, look at what I need to actually start a company and take it from an idea to a reality.”

However, while here, he reports being inspired by the guest speakers and fellow institute members (“So many smart kids here,” he acknowledges, ”It's just so inspiring,”), so he’s actually started taking the first steps towards creating that firm.

Blue Waters Institute participant learns HPC.

“I think that one of the highest things I can do with that would definitely be to take high-performance computing and just make it more accessible. It's a beautiful tool, but I feel like a lot of [folks] don't get the opportunity to learn how to use it, or if they don't want to learn but just use it for their business or their personal research, or PhD students who aren't necessarily computer science students but they want to use high-performing computing to fuel their research; I would love for my service to help people with all of that.”

White recommends the institute for any student who wants a career in computer science. “Whether or not you're going to directly use high-performance computing, the ideas of parallelization are usable in any aspect of the real world from project managing, which we saw a presentation on, to cooking, if you really wanted to. I think the ideas here are far more important than the syntax we use to code. The ideas of breaking up a task is far more invaluable than the syntax we use.”

White also recommends that the institute expand to include more underrepresented students: “I wish we could handle more kids,” he says. “I would definitely bring a lot more kids like me from the inner city. We don't really have resources like this. I didn't even truly know what a super computer was until I got to college. I didn't know you got paid from certain institutions to conduct a PhD research. That's something that a lot of inner city kids don't even fathom, let alone, going to college. So that's what I wish and hope this program could expand on: outreach, because I feel like a lot more kids need it and would be very much appreciative of it, value it, and get a lot more out of their careers as a result.”

Another impact of the institute? As a result of his participation, White is probably going on for a PhD himself. “I was thinking about it before I came here,” he admits, “and I'm fairly certain now that I've come here, and I've seen what I can do with it.”

Caroline MacDonald, a Blue Waters Intern from Mississippi State University

Caroline MacDonald

Blue Waters Intern Caroline MacDonald from Mississippi State University is studying geosciences with a concentration in professional meteorology and a minor in psychology. She plans on pursuing a Master’s degree, and, after that, “It's still a work in progress, my aspirations in the future. But right now, I would definitely say working for the National Weather Service just because it's probably the best way to interact with people and to be able to help people which is what I want to do.

While MacDonald doesn’t have a computer science background, she’s had some coding experience. “I got lucky in that one of our professors at our university, he actually just started a computer methods in meteorology class, so basically applying coding to meteorology and just learning what's useful in meteorology, and I took that this past fall.”

So while she had a background in Python but no prior knowledge of parallel computing. “I've definitely broadened my languages being here. It was interesting coming in just because I knew I didn't know a whole lot, but I've definitely learned a lot here, so it's been really good.”

During the tour of the Petascale Building, a participant in the Blue Waters Institute discusses the Blue Waters supercomputer with the tour guide.

She also learned more about how to use Python: ‘I already knew a lot of Python, but yesterday we worked on it some more and learned how to apply it to Blue Waters, which will be very helpful.”

MacDonald believes she’s going to be able to use HPC in her career. “I think coding in different languages and having that background brings a lot to the table…I think it's just a very useful skill to have. I might not use it on a daily basis, but at the same time it's something great to have and definitely very useful.”

MacDonald’s Blue Waters research will be related to predicting a tornado outbreak.

“Basically, we'll be running a high-end meso-scale model which, in order to run anything like that, you have to compute. It's seeing how well the model is running and when we can basically see if there's going to be a tornado outbreak. So we're going to be running five specific tornado outbreaks and just seeing at different lee times, just like 12hr/24hr like that sort of thing, seeing how far out in advance we can notice certain characteristics and see if that's possible.”

Story and photos by Elizabeth Innes, Communications Specialist, I-STEM Education Initiative

More: Blue Waters, NCSA, REU, Summer Research, Undergrad, 2017

Other stories about Blue Waters programs:

Xavier White, Monet Alberts, and Caroline MacDonald during a session on parallel computing at the Blue Waters Institute.