The outline for this presentation is going to be discussing the target architecture a little bit. The PI's previously had deployed this on a Knight's Corner (KNC) architecture, and they had significant problems with throughput, basically getting memory to the MICs. They were hoping that deploying on a KNL cluster would clear up those bottlenecks. So so that's what we were tasked to see if we could relieve those memory bottlenecks and do what we could in terms of further accelerating the code. So the anatomy of the code optimization process is basically a compile for the target architecture and a baseline assessment to see where we stand and identify any optimization potentials. And this includes considering the scale of modifications that either we are allowed to do or you know or that make sense. So from a bottom up approach could be as simple as adding some compiler pragmas or, if we have complete control of the code and changes to the code, it might involve some algorithmic changes from the top down. So, you know, the process in optimizing code is: you do an experiment, you do assessment of the results of that experiment, and you iterate. And I will finish the presentation discussing some avenues for future improvement.