Oregon State University|blogs.oregonstate.edu

Winter Term has Begun

  January 19th, 2024

Winter Term has officially begun, and we have begun our first Agile sprint! This is very exciting, and very new for all of us. I personally have never worked with an Agile development method, so I think it is the ultimate irony that I volunteered myself to be the Scrum Master.

This week’s required article topic is about clear and concise code, as well as examples of code that fits this requirement, or possibly falls short in some way. In that, my current sprint goal is rather fitting.

My current goal for the week is to download the current CUDA based implementation of our Cluster Dynamics (CD) model to the OSU High Performance Computing (HPC) cluster to run it on our Nvidia GPU cluster, the DGX. After that, I’ll begin looking into porting the code into OpenCL to be used with all types of GPUs, not just Nvidia.

Naturally, when it comes to porting another person’s code or modifying it to run on a different system, clear and concise code is highly desired. In my own limited experience however, beyond even the importance of well written and concise code is the importance of well written comments. Comments are essential for every step of the software development process, from initial development, to deployment, and especially for maintenance and debugging. I, like many of us (don’t deny it), have failed to comment my code from time to time. Like many of us, I assured myself that I wouldn’t be away too long, and my implementation is so simple a monkey could understand it. Three months later, I come back to find myself utterly mystified as to my own thought process.

That is why, whenever I code, I try to follow the old adage to write more comments then code. Does this increase the amount I might have to read, or even write when I code? Yes, but the benefits far outweigh the time costs. Quite frankly, we all owe it to ourselves and our colleagues to write not only concise code, but well documented concise code!

I can’t speak for everyone on my team, but I myself have encountered a number of setbacks already. Not from the code or its implementation, but rather from the weather. While my home state of Oregon is, on the whole, experiencing a significant amount of winter weather, down in Roseburg where I live we’ve mostly just been experiencing a lot of rain. Even still, I’ve experienced sporadic power outages and internet outages for the past few days.

Hopefully, the weather will hold for long enough to finish and submit my assignments for the week.

Fall Term Ending

  December 5th, 2023

Well, we are approaching the end of Fall Term 2023 here at OSU, and I think we’ve made some excellent progress overall. We’ve researched many existing solutions for modeling the decay of irradiated materials, and ultimately we have chosen three models that we think will work best for our needs: Molecular Dynamics and Cluster Dynamics atomic scale simulations, and slightly larger scaled Object Kinetic Monte Carlo models that can simulate entire regions of atomic defects, vacancies and interstitial bulges.

Aside from researching the physics models we have chosen to use, our group has also been working on refining our Final Design Document. I am sad to report that our initial draft was rather lacking in many important areas. Most embarrassingly, many of us had actually missed the in-depth framework to use for the document, and our grade suffered accordingly. Thankfully, now that we are all actually aware of the template to use for our design document, we were able to fill out all of the required sections with all of the requested information.

On a personal note, I am very much looking forward to the winter break before classes pick up again in Winter Term 2024. My shift at work is from 6:00 AM to 2:30 PM PST, which means I have to wake up by 5:00 AM PST to prepare for my work day. It is tiring, but I do need to get paid, and my hours have the advantage of leaving me plenty of time for my schoolwork! When I’m not trying to do my classwork between calls, of course.

Aside from unwinding as much as my work schedule will allow, during the Winter break I plan on further researching the Molecular Dynamics simulations offered by LAMMPS, the leading research tool for Molecular Dynamics modeling. I also plan on further researching my own Molecular Dynamics simulation model design for my own enjoyment. On a more personal note, I am planning on visiting my mother in Creswell, and completing my Christmas shopping for a young foster girl via the Angel Tree program. Granted, as a college student, my funds are limited, but I always make sure to get something that the child will enjoy. This little girl wants educational toys, so I already have a number of ideas.

This will likely be my last blog post for the year. I look forward to seeing everyone in 2024!

Sean B. Higgins

Approaching a Final Design for G-PIES

  November 14th, 2023

Much has happened over the past two months. I have a new position, working from 6:00 AM to 2:30 PM PST. It took surprisingly less time than I expected to get used to my new sleep schedule, and it gives me plenty of time to work in the afternoon.

Aside from my work, I’ve been re-reading my copy of the classic programming book “The C Programming Language” by Brian Kernighan and Dennis Ritchie for some light reading. Who better to learn the nuances of the most ubiquitous programming language on Earth than the people who created it? I’ve already gotten more familiar with pointers, which is always a good thing in any programming language.

There have also been a number of new developments in our project. First, we decided to give our group project a name with a bit more creativity than “Group 3.” Our group is now the GPU-Parallelized Irradiated Environment Simulator (G-PIES) Team. We already have two very, very early prototypes for both a Cluster Dynamic model, created by Sean Siders, and an Object-Kinetic Monte Carlo model, created by Mykola Balakin. Neither have any GPU parallelization implemented yet, but they aren’t meant for that. These models are our proofs of concept, our sanity checks, to make sure we properly understand the problem that we are being asked to solve.

I myself am currently researching how to implement a Molecular Dynamic model. Granted, my work keeps me busy, but hopefully I will have something to present soon. One of the best things about this project is that the problem is very well documented with plenty of research materials to draw from in our designs!

On a completely unrelated note, my project member Sean Siders pointed out to me that the SNES Special Edition New Nintendo 3DS XL system is now reaching prices of around $1,000 and higher. My investment is beginning to pay off!

Capstone Project Assigned!

  October 6th, 2023

I am delighted and excited to announce that I, and three other lucky computer science students (Sean Siders, Keifer Snedeker, and Mykola Balakin), were assigned to work on a fascinating project with Dr. Tianyi: GPU Based Modeling of Material Degradation Inside of a Nuclear Reactor.

I will be the first to admit, the title of this project isn’t exactly clear or descriptive, but I shall attempt to clarify. The goal of our project is to create a model to predict the degradation of a material as it is irradiated.

As the project’s description page explains, “such models essentially simulate the material degradation process by tracking the evolution of many many elements inside of the material over time. These elements could be atoms inside of the material, or defects created by irradiation. Traditionally, such models are challenging to run because of the large amount of elements that must be considered. However, with the amazing parallel computing capabilities of GPU, breakthroughs are expected in realizing such models in a more accurate manner by representing more physical details.”

As for the more specific details of the implementation of this type of model, I already have a few ideas on how to use CUDA to simulate this situation, but my team and I will need to gather more specifics on the exact problem to be solved. Our meeting with Dr. Tianyi will happen tomorrow, so we’ll have a better idea where to start researching this problem then.

For some more in-depth information about the scope of this problem, here is an article that Dr. Tianyi found that explains further: Stochastic Cluster Dynamics Simulations of Irradiated Materials

First Post of (Hopefully) Many

  September 30th, 2023

Hello everyone, my name is Sean. I will be using this blog to keep you all apprised of my progress in my Capstone Project here at Oregon State University.

Let’s begin with a more proper introduction. I am a Computer Science student at OSU, slowly but surely working my way towards my Bachelor’s Degree in Computer Science. I am currently on a part-time schedule and attending my classes online. This is so that I can work full-time to earn enough money to attend school as well as feed myself, among other necessities.

When I’m not studying or working to earn my living, I enjoy reading, writing small programs, and playing video games. As mentioned, I like to write small programs to help keep my skills fresh, but my main hobby is microelectronics projects. My current favorite project that I’ve built is my IBM 5150 PC Motherboard kit. Some other projects are my Z80 Membership Card and my 1802 Membership Card microcomputers.

I suppose I began my journey with computers and computer science when I began volunteering at NextStep Recycling, an electronics recycling place in Eugene. I was able to volunteer enough hours that I was given a refurbished PC, where I first began learning to code. I continued to volunteer there all through high school, building low-cost refurbished computers to help bridge the digital divide.

I’ve worked a number of jobs, but I am currently being transferred from providing customer support for a major video game hardware company, to providing support for financial investments. It will be an interesting change to be sure.

I elect not to outline my journey with OSU in any great detail, as doing so would likely take multiple paragraphs to outline the various frustrations and setbacks I have endured at this institution. My only relief comes in the fact that I am nearing the end of my time here and I will soon be able to earn an actual living with my skills well above the poverty line where I currently hover.

I deeply enjoy the theoretical aspects of computer science, as those are the aspects that most closely approach the pure beauty of mathematics, another field that I love. As for actual computer technology that I find interesting, I am simultaneously fascinated and disgusted by our current advances in the field of Artificial Intelligence. Fascinated, because recent progress has been incredibly brisk. Disgusted, because the areas where this incredibly powerful technology has been overwhelmingly focused has been to generate text or images, when we could be using this technology to predict novel methods of folding proteins, or other problems that can actually serve to improve the human race.

There are many projects listed in the EECS Projects Portal, but there are a number that have stuck out to me as particularly interesting:

GPU based modeling of material degradation inside of a nuclear reactor: This project not only appeals to my love of physics, but it also relies largely on GPU and multi-core processing, which I also find very enjoyable.

Artificial Intelligence for Election Predictions: This project would allow me to experience a different form of artificial intelligence development outside of my own personal AI trading algorithm project.

There are also a number of projects designed to develop an AI trading algorithm, which as I mentioned I am also working on in my own time. Unfortunately, these projects are all on-campus, and thus are unavailable to me.

If you have made it this far, thank you for taking the time to read through my rambling blog post. I do appreciate it.


Sean B. Higgins