opengl

SGI Indy (1993)

  • by

This machine represented the SGI’s low-end workstation offering. It was targeted towards Mac users (DTP…) that needed more graphics and processing power than they could get from Macintosh Quadra systems. It’s a sleek pizza-box computer with just a single quiet fan inside (unlike other SGI systems). However, in comparison with non-SGI competitors, it was not slow. It had at least 100-MHz (64bit) MIPS processor, at least 16MB of RAM (reasonable configurations started with 32MB) and multiple graphics card options available. 10Mbit/s LAN, ISDN modem and video inputs (composite / S-Video / a digital port for the bundled webcam) were integrated on the logic board in all configurations as standard.

My Indy is from 1995 and has a more powerful 150MHz MIPS R5000 CPU. On the other side, it is equipped with the lowest possible graphics card (XL8/XGE8/Newport) that supports no more than 256 colors and was introduced with the early machines.

I always thought that Indy was the only SGI system without any 3D acceleration when sold with XL8 (2MB of 64bit video RAM) or XL24 (6MB of 192bit video RAM for true color modes) graphics cards. I expected just a crappy framebuffer (with BitBlt) and nothing more – like in Sun and HP machines. I was wrong. The REX3 chip inside the Newport graphics is pretty capable. Although all the 3D transformations and triangle setup are done in software, the chip can raster triangles with smooth (Gouraud) shading and per-vertex alpha-blending. Even Z-Buffering is partially accelerated using the chip (Z-Buffer is stored in system memory though).

In fact, this chip is not very far from early PC 3D accelerators (1996-1997) in terms of functions… except for the texturing support which was not available even with higher-end workstation-class 3D accelerators in 1993. This is for the first time I see 3D accelerated OpenGL (1.0) on such an old graphics card – and in 256 colors. To be correct, the scene with triangles has just 16 colors because any real-time graphics requires double-buffering. Each byte of the window in video memory contains one pixel from both buffers in the GBRG-GBRG arrangement of bits.

The graphics card is faster than I would expect. The pixel fill rate for smooth shaded triangles is ~50Mpix/s. If you add alpha-blending, you will get ~20Mpix/s. That’s 5-20 times as fast as the Windows NT 4.0 software renderer on a laptop with 133-MHz Pentium MMX and a 2D-only graphics chip. The speed in 3D is more comparable with 3Dlabs Permedia, S3 Virge DX and other consumer 3D accelerators from 1996.

Sun Ultra 5 Workstation (1998)

  • by

After the introduction of Windows NT and later introduction of Intel Pentium Pro, the PC platform slowly became a big threat for UNIX workstation manufacturers. Most of them disappeared from the market. Some still exist but they don’t make UNIX workstations anymore.

Sun was well aware of the issue and introduced low-cost UNIX workstations based on their own UltraSPARC CPUs. Unlike other models, these were made mostly from off-the-shelf PC components. There are industry standard EDO RAM modules (with ECC) and the frame buffer is in fact an ordinary $40 ATI Rage Pro PCI video chip. All on-board devices communicate over the standard PCI bus and mass storage devices are connected to an IDE controller instead of more common SCSI (at the time).

On the other hand, there is a full-blown UltraSPARC II CPU similar to the ones in Sun’s high-end workstations. There were two configurations available at the beginning. The lower-end one with 270-MHz CPU has 256 KB of external (L2) cache. Its integer performance is on par with similarly clocked Pentium II and the floating point performance is up to 25% higher (comparable with 290-MHz DEC Alpha). The 333-MHz configuration has 2 MB of external cache which can double the performance in certain types of tasks (+80% in SPECfp95).

Let’s put Ultra 5 in the 1998’s workstation perspective. The main target for this machine was “technical computing”. With the price starting below $5.000, Ultra 5 was the easiest way to get a new UNIX workstation. Low-spec SGI O2 workstations cost about $8.000 and their R5000 CPUs were much slower. An R10000-based O2 would be comparable in terms of computational performance. However, such machine was not available under $15.000. To be fair, SGI O2 can handle 3D in hardware (triangle setup, Z-buffer, texturing) and, according to my testing, even the configuration with 180-MHz R5000 (true-color RGB888) is 3-3.5x faster in OpenGL tasks than 270-MHz Ultra 5 (256-color-only mode with RGB332).

Ultra 5 utilizes its on-board ATI Rage Pro chip only for simple 2D acceleration (BitBlt) and the driver made by Sun ignores all video and 3D capabilities of the chip. Solaris doesn’t support the 16-bit color mode (only 8, 24 and 24+8 are supported) which is the only one where ATI’s chip can handle 3D acceleration. Although the chip didn’t shine in image (3D) image quality, its raw performance in professional OpenGL applications was similar to the SGI O2 integrated video (tested under Windows NT). There is no excuse for not using the video acceleration. Rage Pro was pretty good in video (filtered scaling, color conversions,…) and an average mid-end office PC with this chip (on-board) could easily outperform Ultra 5 in MPEG full-screen playbacks. 320×200@30fps video can be played back only in 1:1 mode. If the video is displayed in full-screen, frame rate drops to 1-2 fps.

This is my first experience with Sun workstations (apart from using Sun Ray thin clients at college) and I’m not very impressed. Basic administration is much more difficult than in IRIX or HP-UX (these two have nice GUI/TUI programs for this purpose). The keyboard has useless additional keys and the mouse cursor is refreshed only about 20x per second. The CPU performance was good at the time of introduction but everything else was not competitive in comparison with $4.000 Pentium II PCs. When it comes to multimedia support, even Linux distros from the 1998 were not worse than Solaris.

*) Last photos show that (unlike other UNIX workstations) Ultra 5 cannot handle multiple 8-bit palettes simultaneously. A whole palette is set according to needs of the window that is active, which results in psychedelic color effects. On the contrary, Windows 9x and NT were ready for dealing with single-palette video chips by reserving about 20 colors for GUI. These colors could not be changed if the active application was not in the full-screen mode.

SPEC Viewperf on SGI Octane2 (2000)

Viewperf is an interesting set of real-world OpenGL benchmarks. The original version was developed by IBM but other companies (SGI, Digital…) quickly joined the development and Viewperf became an industry standard for OpenGL benchmarking focused on CAD, CAM, CAE, medical and scientific stuff. Unlike 3D Mark and other benchmarks you can see today, Viewperf simulates a rendering pipeline of real applications on real data.

The data (viewsets) were not developed by the project group. They were provided by independent software vendors. In fact this is true even today with the current version of Viewperf (12). I still use this benchmark when testing workstation-class laptops and NVIDIA GRID virtualized desktops.

The version 6.1.1 was released in 2000 and it was the last version with precompiled binaries for SGI IRIX (among many other systems like Windows NT, Compaq Tru64 UNIX and SunOS). I’ve used it to check the performance of the SGI VPro V6 graphics inside Octane2. VPro V6 is a single-chip graphics solution capable of processing OpenGL commands directly in hardware and it is equipped with 32 MB of memory (24 MB for buffers and 8 MB for textures). SGI VPro and NVIDIA Quadro (which is an ordinary GeForce 256 SDR card with CAD acceleration functions enabled) were introduced at the same time. Although the SGI’s hardware was very advanced in certain capabilities*, Quadro (as a chip born from the consumer segment of the market) was for the first time (slightly) faster even in the CAD/CAE market. This was the beginning of the end of custom professional graphics accelerators (3DLabs, Evans & Sutherland, SGI…). This was also perceived as another hard blow for UNIX workstations after the introduction of Pentium II.

*) High precision 48-bit framebuffer, accumulation buffer for depth of field, FSAA and motion blur effects