« Matthew wants to know if he's going to be fired | Main | What was the final score on Dave's coffee cup today? »

The world will just have to wait for a lighter shade of whitewalls

Well, I did it today.

I finally gave up on parallel ogg/vorbis. I think Lummy will be telling me, "I told you so..." pretty soon.

I did some tests with the serial encoder to prove that it just won't work. I'm not sure if it's by design, or if it's a bug, or if I did something stupid in my tests. But I don't think it's the last one
-- I think it's one of the first two.

The first step to parallelizing anything is to split it up into lots of little chunks so that you can process those chunks independently, and hopefully simultaneously. Ogg/vorbis provides a nice way to split the work up into chunks.

However, from my tests, it seems that if you process these chunks in any order other than sequential, the resulting output is different. i.e., you get nondeterministic output since all the chunks will effectively be running in some different order every time you run the program. BONK!!!

So I sent some mail to the vorbis-dev list this morning about this problem, but haven't gotten any response yet. I think the developers might be traveling or something...

So I formally decided to ditch that from my dissertation. Which means I need another sample application for that chapter.

Yep, you guessed it.

Or maybe you didn't.

But I did.

And Lummy is definitely saying "I told you so" now.

And Stevenson is probably laughing his butt off.

Yes, it's PIPT -- the parallel image processing toolkit. Ughh!!! My entire life seems to revolve about this dang-blasted project.

I spent the day de-ogg/vorbisizing the code and turning it into a real framework. I also scavenged the TIFF reading/writing code from the old PIPT, and threw in a bunch of extra datatype handling functions to boot.

I named the whole thing "Son of PIPT" (or "Son of PIMP", for those in the know). It now generates a libpipt.a and and libsop.a, and I have one sample application that compiles/runs right now. The application just provides a function (actually, a class) for input, a class for the worker, and a class for the output. Then it invokes the SOP engine to do the rest.

It took literally all day to get this far, but it seems to be working. Now I'll need to code up a real application and add in the MPI hook-ins (it's only threaded right now, but I did all the MPI groundwork last night in the ogg/vorbis code, so it shouldn't be too hard to add the MPI proxies into the general framework).

On the other hand, Brian did a fair amount of research into the laptops that we can get for IU. The Dell Inspiron 4000 with external keyboard, mouse, and monitor looks really promising. If Lummy gives the go-ahead, I'm gonna sign up for one of those puppies!

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


This page contains a single entry from the blog posted on March 11, 2001 11:29 AM.

The previous post in this blog was Matthew wants to know if he's going to be fired.

The next post in this blog is What was the final score on Dave's coffee cup today?.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34