Pinging job interest for engineering tools company

fearsomepirate

Dinosaur Hunter
Veteran
Hey guys, this isn't in the "jobs" forum because I can't make an actual listing at this point and therefore can't promise anything. What I want is to see what kind of interest is out there for this job.

I work for a small company in Wisconsin. We develop bulk-scale simulation software for engineers (so think fluid flows and solid-body mechanics, not quantum-scale phenomena) in both Lagrangian and Eulerian frames of reference. We have lots of good chemists and physicists on our development team, so that's not really a need there. However, our software does lots of things with triangles, polyhedra, etc. As I learn about things, I discover a lot of what our software does is solved problems in the graphics industry. For example, I recently figured out that our meshing code is really a BSP tree. I figured out our spray code is actually ray-tracing. Now, what's in there was all done by guys with backgrounds in physics and chemistry who literally knew nothing whatsoever about the graphics industry. They were simply trying to solve similar problems and re-invented the same solutions...which of course were implemented quite badly and inefficiently, because those solutions in the graphics industry have had years to mature. And we'd like to do some of this stuff on GPUs, but we would be starting at square one in terms of skills, as in, "none of us have ever written GPU code."

Now, we *also* have a GUI. This GUI is straight-up game-like graphics code, i.e. rendering and shading triangles. But everyone on our GUI team came here straight out of academia. I've never really looked through our GUI gode, but I can compare how fast and smoothly it renders on my new workstation to what my PS3 does with only 512 MB of RAM and 9-year-old CPU, and I can tell there's a lot we could gain from the expertise of someone from the graphics industry.

As the company's grown, my bosses have figured out that we need skills beyond what academic researchers have, and they've warmed up to the idea of hiring someone from outside our usual pool (mostly engineers and chemists fresh out of grad school). We're hiring like crazy, but we are sorely lacking people with the skills above.

So anyway, if you have experience in gaming/graphics and are interested in working in the upper Midwest and in a nonconventional use of your skills (and work a regular 8-to-5 job instead of the video game crunch schedule), either respond in the thread or PM me for more infor. I find my bosses are much easier to convince about this sort of thing if I've got something concrete to show them.
 
Sorry for the off topic but this has piqued my interest :) I just want to ask you, what kind of disretizations do you use for your equations?
As for the job hunt, you might want to broaden your search also to people in computational geometry or other similar fields. And for the visualization, although you might have already done it, you can also check the source codes for Paraview and Visit. I am not too familiar with how efficient they are, but considering their popularity I should hope that the answer is "very" :) (also if not anything else, at least supposedly they scale well).
 
We use finite volume methods, because conservation is a critical design constraint for tools like ours. There is definitely a lot out there I've been learning from, but I posted this here because I'd like to start in a smaller circle first, and because we're getting a lot more interested in offloading work to GPUs. So I figured I'd see if anyone's interested here first before I plunged into some wider community, especially since, to repeat, this isn't a job offer. I'm trying to get a sense if anyone's interested and has applicable skills before I approach my boss to badger him into hiring a non-academic, non-scientist.
 
I don't know if you should definitely go non-academic, non-scientist. What I mean is that there are actually quite a lot of people doing HPC in academia and recently I was at a talk where some guys were showing quite nice scaling on many thousands of CPUs and if I'm not mistaken, also on GPUs. Now that is not to say that if your primary product is a software tool you should not hire professional programmers. Because you most definitely should. Like, right now. They can help you with cleaning your code, writing more efficiently your programs (not only on algorithmic level) and all around help you not mess up the software. All I'm saying is that for the GPU programming know-how there are also people in academia, who are proficient. Again they might be in CS, or applied mathematics or similar research field.
Anyway as to the numerical schemes - are you using cell-centered FVM? If so how to you propagate your Lagrangian meshes (as in do you interpolate for example displacement/velocity to your nodes)?
 
"All I'm saying is that for the GPU programming know-how there are also people in academia, who are proficient."

I think there's some kind of miscommunication going on here. I must not be very clear, so I'll try to clarify:

There is a large section of our code that is doing geometry. I'm talking about collision detection, BSP trees, deformation, culling, ray tracing, tessellation, etc. That code could really stand to have someone involved whose experience is in doing those kinds of things rather than someone who did a post-doc on scaling a linear system to 20,000 cores to solve the heat equation using an in-house code he wrote in F90 that is choking to death on global variables.

It seems there are a lot of developers in the graphics industry (both gaming and non-gaming) who are quite handy with this sort of math, which is why I'm asking here. If no one's interested, okay, but I thought I'd ask.
 
Last edited:
Yeah, sorry. Maybe I misunderstood you. I thought that you want 1) someone who can help you with the mesh generation, who has perhaps a graphics industry background, because there is an overlap in the needs and 2) someone who can help you run your code on the GPU. When I read your post now, it seems that you are talking about someone to help you offload the mesh generation on the GPU, but initially I thought you meant in general to help you with the GPU programming, i.e. also for your other code. This is why I suggested that for 1) you might also consider other fields if you haven't already,e.g. computational geometry, especially since I am not sure if in computer graphics they have the same restrictions on the mesh, that you would need for your disretization, so some algorithms might not apply. And since for 2) I thought you meant also numerical implementation is why I suggested also academia (btw the guys I was talking about were doing Navier-Stokes for simulation of weather, so it shouldn't be that far off from what you are doing). Sorry if my previous post was not clear. I actually meant to say that I think your gut feeling is right, to also consider specialists in other fields and just nudged you to expand your search to further areas ;) And I was asking about your numerical methods from professional curiosity, since I am in numerical mathematics and I am currently doing some simulations of large deformations with Lagrangian meshes, but with FEM.
As for the specific topics you mention, a specialist in the graphics field probably could help you, but I am not sure if they would like to veer away from the graphics industry :) On the other hand, I am not in this field so what do I know :D
Anyway, good luck with the search!
 
Back
Top