This past Thursday, April Fools!, I had the honor of speaking at Exxon Mobil’s Technical Software Development conference in Houston. We were one of four external vendors invited to present and later do demos at this all-Exxon event. It was all proprietary so they put a black hood on me, took me to the room after many spins and twists and turns, I gave my presentation, then they hooded me again and escorted me back out of the building.
My talk was right after Dr. Bjarne Stroustrup on C++ and C++0x; definitely a tough act to follow but I did my best.
“One part agile software development, two parts parallel, many-core: Helping Exxon Mobil to reach for higher performance.”
My talk was on two areas, the first being Acceleware’s internal software development processes: we have always used test-driven development (TDD) strategies and in the past years we developed a working flavor of agile software development. In the “early years” of Acceleware, I used to write code but I think that our Dan (Mgr of Development) would tell you that my code wasn’t very good. As a result, I am now the one sent out to deliver talks like this and keep me away from the keyboard! It was pretty exciting because this isn’t a topic that we get a lot of chances to share with our customers and the outside world; at the same time, I think it helps Acceleware to solve really valuable and complicated problems, successfully. There are many benefits in terms of agile software development, not the least of which is the production of higher quality software products and the mantra of “deliver value early and often”. TDD also helps us to simultaneously support and develop for Windows and Linux, CPUs and/or GPUs, and rapidly evolve our products while maintaining the functionality and performance of what we already have. It is actually quite difficult to juggle the objectives of numerical correctness vs. high performance vs. maintainable, production code. I think it is safe to say that one can have 1 or 2 of those, but usually not all 3, without a lot of effort!
The latter part of the presentation (“two parts parallel”) talks about two projects that we completed, last year now, for desktop-focused Geology and Geophysics applications. For the first one, we ended up delivering a speed-up of about 100-150X using a combination of algorithmic changes (more parallel) as well as GPUs. For the second one, Exxon had it working for single core but didn’t have the developer bandwidth to get it to multi-core. We optimized the single-core code path (about 50%) and then we made it into a “work farm” that could use all the cores in the system. (Actually, we got done earlier than predicted, so we added GPU support for the future; they need Fermi / double-precision and then it needs to be in an IT-certified workstation, which are refreshed on an N year cycle… so “future”…) The multi-core result was about a 12X speed-up on 8-cores (one would expect 7-8X on a good day), meaning that something that used to take 24 hours for them was now taking 2; that is ‘almost’ in the range where you don’t lose the interpreter’s attention, anyhow. Near as we can tell they are really happy with the results on both projects. There is more ongoing work with those groups and we met a bunch more folks that we need to follow-up with because there is a lot to do, nevermind the successful meetings we had the rest of the week.
Awesome!
Comments
Sounds promising, as a shareholder of the Company, are companies such as Exxon etc paying for the services or are they still on trial runs for the products and services that AXE provides? Might I suggest some appropriate press releases, the investment community seems to have no idea what is going on...
# Posted By Adam | 4/6/10 2:22 PM
Exxon is an Acceleware customer
# Posted By Ryan Schneider | 4/7/10 10:07 AM
I really liked the way your company is progressing, Being a geophysics Graduate student I am always interested in High Performance Computing, BLAS Libraries.......Will be looking forward for a short course in your company or may be small project work in which i can learn real world computing..
# Posted By Akshay | 4/8/10 2:16 PM
HI Ryan, as I hold NVIDIA stock as well, I am wondering the extent of involvement AXE has in the new NVIDIA QUADRO? Are there any potential financial benefits to AXE from this since you guys are a channel partner in the GPU processing.
# Posted By Adam | 4/14/10 7:28 AM
HI Ryan, I noticed on your Twitter that AXE is conducting CUDA Training over at Microsoft later this month... have you guys cracked the ceiling over there...that's a huge development if so...kudos
# Posted By Adam | 5/5/10 5:26 PM
No more blogging? We enjoy getting updates on what AXE is doing
# Posted By Adam | 5/12/10 8:54 AM