Make it easier
July 19, 2012
Posted by on
Comments from my AFDS 12 breakout session survey:
- The description indicates that this is something I could do, while really I can’t.
- usage of Chai not entirely clear by code examples. Everything constantly encoded in OpenCL? Mix with C? Works for really complex programs?
I agree and am sympathetic, even though I wrote Chai. It must be easier to understand and use.
It may be that solving engineering problems may be much harder than making useful technology (which means people use it).
I ran into a coworker from five years ago at AFDS 12. He works on EEG signal processing software in C++ on multi-core CPUs. Customers want more performance so naturally GPGPU is interesting.
However, the investment in GPGPU is too large for the development risk and performance return. Unlike OpenMP and threads, acceleration requires completely rewriting code. Worse, the principles of GPU programming are unlike all previous experience.
Multi-threaded and vectorizing compiler friendly programming may be difficult – but at least you can re-use your old code in the programming languages you already know.
After looking at primitive restart, I decided not to support OpenGL buffer sharing. It’s not that hard to do. It’s also not something most developers care about. So it is time to move on. Chai is feature complete. Work is now: documentation; testing; optimization.