there are so many cores

Just another WordPress.com site

Alpha3 uploaded to GitHub

I just committed the third alpha code drop to GitHub. As before, there is also a tarball download without git metadata. That’s probably more convenient for most people.

While writing my presentation slide deck for AFDS 2012, I realized that there can be no beta release without documentation. It doesn’t matter if the core engineering is done. There is no usable technology product if developers don’t know how to use it.

Writing minimal documentation will take weeks. That seems excessive. But my experience preparing for conferences is that writing is a lot more work than it appears. Good writing is storytelling. It is considering the audience with an interesting narrative. I suspect this is true of technical writing as much as it is fiction.

So the beta release is still a ways off. Beta will mean something that is genuinely usable. It will have rough edges. But it will be a tool you can use to solve problems.

One more major feature I am considering is more direct interoperability with OpenCL. It should be easy for applications to mix Chai managed code with explicit OpenCL. The tricky part is of course memory management. That’s why managed platforms have foreign function interfaces. It’s always clunky. I’d prefer to have something more like inlined assembly language in C.

PeakStream didn’t have anything like this. However, that also makes sense as OpenCL didn’t exist. Even CUDA was released in 2007, the same year PeakStream was acquired by Google and disappeared. If there were a portable shader language then, would PeakStream have tried to interoperate with it?

My guess is they would have. Don’t force people to learn new languages. Try to work with what they have. That’s why BrookGPU and PeakStream are internal DSLs implemented as C++ APIs. OpenCL is now part of the mainstream. So it’s the language people know and use today.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: