One summer I had the opportunity to do General Purpose Graphics Processing Unit (GPGPU) Programming. We worked on various problems to determine if they were “parallelizable” and compared the runtime between solutions running on both CPUs and GPUs. All GPGPU programming was done using OpenCL. Finding some work on computing P-Systems on GPUs, which is a biologically inspired computational model that is highly parallel, I attempted to program it for OpenCL but found it very difficult at the time, so I only created the computation model for CPUs. This summer taught me a lot about parallel programming.