System performance zealot needed for OpenGL pixel pushing

Timothy Misner uunet!Eng.Sun.COM!Timothy.Misner
Wed Mar 20 18:05:23 PST 1996


Hi, folks:

I hope this is in the correct spirit of this alias. (Apologies if I
have misjudged.)

I'm writing because I need a performance zealot for OpenGL pixel
pushing (rasterization/texturing of lines/triangles/dots). This is a
great job for someone w/ the CPU/compiler/performance background
looking to develop knowledge of graphics: they can be one of the
world's VIS/MMX software gurus a year from now.

Do you know anyone who would be interested? If so, send them and a
resume my way. A short description of why the job is appealing to the
candidate doesn't hurts, either.

Thanks for reading,

--Tim, OpenGL Engineering Manager, SunSoft


Further Description of the Job
- - - - - - - - - - - - - - - -
The basic job is to help create and then implement a very fast and
flexible software architecture for pushing pixels through OpenGL (the
3d graphics standard for **interactive** rendering). The pixel
operations (e.g. alpha blend, z-buffer compare, logical operation)
are very well-defined, but the combinations in which they can happen
are stupendous. Not only that, but there are many new functions
being introduced all the time (convolution, histogran, new texturing
possibilities)--creating a real requirements problem.

Thus our belief is that it's NOT possible to write enough assembler to
make this happen properly--the graphics combinations are too numerous.
Nonetheless, interactive performance requires everything we can
possible do! Ugh--we are in an resource jam, so we need some new
thinking.  (Necessity is the mother of invention!)

Would a "just-in-time" mini-compiler help? Is there some smarter way to
do back-end optimization? We don't know as well as we would like, but
we want someone who would enjoy learning about graphics as we learn
about smarter ways to generate lots of fast code via a code-explosion
architecture for the OpenGL graphics functionality. Does such a person
exist? Our fingers are crossed, and operators are standing by.


Traditional graphics job skills (not required if we get CPU knowledge)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[The job description below is what we thought we were looking for.
However, this is the "obvious" way. I figure a good back-end compiler
person could find a much cleverer solution to do this problem by
teaming up with a good graphics person--which we already have in the
group. With the advent of VIS and MMX as part of the CPU, this is a
career transition opportunity.  CPUs are pulling in graphics...so
graphics folks should pull in CPU knowledgeable folks too!]

The skills required for the job are:
     Experience in writing fast, performance-oriented code
     Strong performance tuning experience 
     Proven development experience on large software systems
     Knowledge of CPUs and system architectural tradeoffs
     Understanding of Memory/Bus architecture 
     Efficient use of the UNIX environment

Skills valuable for the job are:
     3D graphics programming experience
     Exposure to graphics hardware design considerations
     Assembly or microcode knowledge of cisc/risc machines

Educational and work requirements are:
       -BSCS or equiv and 4+ years of experience
       -MS or equiv and 2+ years of experience

Personal Skills preferred:
        Enthusiasm
        Clear methodology for task organization
        Independence
	Good Communication skills






<PRE>


More information about the Numeric-interest mailing list