Posts Tagged ‘wxWidgets’

PolyViz Polyhedral Visualizer

Monday, January 24th, 2011

PolyViz Viewer

The PolyViz Viewer displaying three polyhedra.

“PolyViz is a tool for visualizing n-dimensional polyhedra. Motivated by the difficulty of reasoning about the iteration spaces of nested loops with many levels, PolyViz allows users to visualize polyhedral representations of those iteration spaces.”

- PolyViz Sourceforge project description

I started writing PolyViz for an advanced high performance computing (HPC) course last spring (early 2010). The course focused on the polyhedral model, a way of thinking about tightly nested loops in computer programs as geometric shapes. In the polyhedral model, each loop has an index variable, like in a standard for loop, such as i, j or k. Each index variable iterates over a range of values, this set of values is called its domain. Each index variable is interpreted as a dimension of the polyhedron. Values that are included in the domain are within the polyhedron, all other values are not.

PolyViz on Sourceforge – See the files section to download source packages or the manual, which is very good and covers background materials and the mathematics involved, along with instructions on how to use the software. (more…)

Week Three of the GUI Overhaul

Thursday, May 22nd, 2008

Toolset Preview 1I have a habit of taking a screenshot or two every night after I finish working. I often find myself looking back on a week and feeling like I didn’t actually accomplish anything. Thanks to my screenshotting habit, I now know that this empty, unfulfilled feeling is just because I’ve forgotten everything that I did all week. By the time the weekend comes around, all the little bugs I fixed, features I implemented and puzzles I solved are gone from my mind. Well, it’s more that they’re in my mind somewhere, but I’m not sure where. It’s a case of, “I haven’t lost my car keys, they’re here somewhere! I just.. don’t know where” syndrome. Looking back on the screenshots I’ve taken each day reminds me of what I accomplished and all those little bugs I fixed, features I implemented and puzzles I solved come flooding back into my mind. This fosters a Sense of Accomplishment, which not only feels nice, but is necessary to maintain momentum and stave off burn out.

(more…)

Toolset GUI Overhaul

Monday, May 12th, 2008

I haven’t written in a while because I’ve been bogged down in an overhaul of the Toolset GUI. I suppose bogged down sounds like I’m upset about this (which I’m not, it’s progressing wonderfully) however, list boxes and modal dialogs just aren’t as sexy as the 3D rendering topics, so I’ve been sparing you, my dear readers, the nitty gritty.

New Toolset GUI - Preview 1The new GUI is written using a library called wxWidgets. The great thing about wxWidgets is that it draws the GUI using the native GUI of whatever OS I build the executables for. How this works is a bit more involved, but the benefits are clear. The toolset will look and feel like a program that is made for whatever OS it is running on. In windows when you open a file the file dialog looks like the windows file dialog with all your locations on the left (my documents, my computer) and on a mac, the menus will be shuffled appropriately so that the quit, preferences and about options are under the application menu. That might sound uninteresting, but there are a lot of conventions that users expect when they run a program on their computer, even if they’re not consciously aware of expecting them. Another upside is wxWidgets seems to run faster than the old GUI, which was drawn as a 2D overlay by the 3D rendering library.

The new GUI is still a work in progress, but it’s coming along and much more quickly now that I’ve gotten a handle on wxWidgets.

-Jess