PDA

View Full Version : PPC linux render farms?



Ade
06-08-2003, 12:49 PM
Is it possible to run a PPC linux farm with the linux rendering engine?
I have a spare g3 here, linux would run better on it than osx cause it has no altivec, so what do u guys think?

LSlugger
06-08-2003, 02:10 PM
No, the Linux renderer is compiled for x86. You could conceivably run the Linux or Windows renderer in Virtual PC (recently acquired by Microsoft, by the way), but you would take a big performance hit.

Beamtracer
06-08-2003, 07:03 PM
Pity, as there are flavors of Linux for the PPC.

This would also lock out the soon-to-be-released IBM Linux boxes that incorporate the 64-bit IBM-970 processor. They would also make nice render boxes.

LSlugger
06-08-2003, 07:13 PM
There is probably a fair amount of architecture-specific code in the renderer, so it may actually be easier to port it from OS X than from x86 Linux.

Ade
06-08-2003, 10:23 PM
How hard would it be to compile for PPC linux? IBM will turn the tised soon with the first real pro PPC linux/970.

LSlugger
06-08-2003, 11:22 PM
I work for a database company that supports Windows, VMS, several flavors of Unix, and (soon) OS X. Most of the code is portable C. Some of it is O/S-specific C. Some of it is architecture-specific assembler, most of which is O/S independent. For example, the same code works for Windows, Linux, Solaris, DG/UX, SCO, etc.

NewTek could conceivably link the Linux or OS X C/C++ with the OS X assembler to make a PPC Linux renderer. The port might only take a day or two, but then someone has to test it, document it, package it, and support it. NewTek seems to be stretched pretty thin, as it is. Consider how long you went without the 7.5b update.

By the way, can you tell me whether the 7.5c update for OS X includes the Linux renderer? It was in the Intel update, but mysteriously deleted a day later.

Beamtracer
06-09-2003, 03:11 AM
IBM has bet its future on Linux, so I'm sure IBM will make sure there's a version of Linux ready for its new 970 processor. In fact, you'd think they might be able to use a lot of the same code as the Linux that they have on the Power4 processor.

You say that it may only take a day or two to port Lightwave's renderer to PowerPC-64 Linux? I'm not an expert in Linux so I can't confirm this, but if it's that easy Newtek should do it. I think there'll be a lot of interest in these new IBM machines.

I don't know whether a LW Linux renderer was distributed to Mac people. Maybe someone else can answer that one.

LSlugger
06-09-2003, 06:49 AM
It depends on how portable the code is to begin with. The 7.5c Linux renderer has the following dependencies:

$ ldd lwsn
locus3.so => /usr/share/lwsn-7.5c/programs/locus3.so (0x40014000)
annex3.so => /usr/share/lwsn-7.5c/programs/annex3.so (0x4001b000)
gcore3.so => /usr/share/lwsn-7.5c/programs/gcore3.so (0x4003f000)
enved3.so => /usr/share/lwsn-7.5c/programs/enved3.so (0x400e7000)
surfed3.so => /usr/share/lwsn-7.5c/programs/surfed3.so (0x401c8000)
volume3.so => /usr/share/lwsn-7.5c/programs/volume3.so (0x40265000)
lwaudio3.so => /usr/share/lwsn-7.5c/programs/lwaudio3.so (0x402db000)
lcore3.so => /usr/share/lwsn-7.5c/programs/lcore3.so (0x402e1000)
vfrb3.so => /usr/share/lwsn-7.5c/programs/vfrb3.so (0x40617000)
cliped3.so => /usr/share/lwsn-7.5c/programs/cliped3.so (0x4067d000)
panels3.so => /usr/share/lwsn-7.5c/programs/panels3.so (0x406ad000)
preview3.so => /usr/share/lwsn-7.5c/programs/preview3.so (0x40745000)
lwtools3.so => /usr/share/lwsn-7.5c/programs/lwtools3.so (0x4074a000)
iview3.so => /usr/share/lwsn-7.5c/programs/iview3.so (0x408a3000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x408e1000)
libm.so.6 => /lib/libm.so.6 (0x40948000)
libcxa.so.3 => /usr/share/lwsn-7.5c/programs/libcxa.so.3 (0x40969000)
libc.so.6 => /lib/libc.so.6 (0x4099f000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x40ac5000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40f75000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40f83000)
libdl.so.2 => /lib/libdl.so.2 (0x41062000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
The lwsn executable depends on OpenGL, X, and standard C libraries. It also depends on an Intel C++ 7.0 library (libcxa). I assume there is some assembler source, and it's possible that OS X has a different convention for register usage than PPC Linux. If the porting programmer doesn't realize this, the "day or two" could turn into another day or two of debugging.

The dependence on Intel C++ raises an interesting point: the speed of the program depends in part on the quality of the compiler. LightWave 7 got a big boost on the Pentium 4. Some of that boost, I presume, came from simply recompiling with the Intel C++ compiler. On PPC Linux, however, the compiler of choice will be GCC. GCC is good, but it may not optimal for this sort of code.

Ade
06-09-2003, 06:54 AM
Maybe NT should open source the renderer? or open source a certain linux render.