33
Slide 1 Graphics Hardware and Software using Linux Ray Gasser, [email protected] Graphics Programmer/Analyst Scientific Computing and Visualization Group Boston University

Graphics Hardware and Software using Linux

Embed Size (px)

DESCRIPTION

Graphics Hardware and Software using Linux. Ray Gasser, [email protected] Graphics Programmer/Analyst Scientific Computing and Visualization Group Boston University. Introduction. Agenda Why Linux/Intel? Hardware Video Cards Processors I/O and Memory Software System (OS, X, drivers) - PowerPoint PPT Presentation

Citation preview

Slide 1

Graphics Hardware and Software using Linux

Ray Gasser, [email protected]

Graphics Programmer/Analyst

Scientific Computing and Visualization Group

Boston University

Slide 2

IntroductionAgenda

– Why Linux/Intel?– Hardware

• Video Cards• Processors• I/O and Memory

– Software• System (OS, X, drivers)• Graphics APIs and Libraries• Development environments

– Resources– Issues– Future – Conclusions

Slide 3

Why Linux/Intel? SGI InfiniteReality3

210 million polygons per second 896 megapixels /sec pixel fill rate per pipe (up to 7.2 gigapixels) 1-16 graphic pipelines per system 24-bit floating-point Z buffer 48-bit RGBA color AA 8X (multisampling) 1-8 channels per pipe 256MB texture memory per pipe (up to 1 GB texture memory) 80MB - 320MB frame buffer per pipe 11.2GB/sec - 716GB/sec system bandwidth MSRP $119,000.00 entry level (includes Onyx 300)

http://www.sgi.com/visualization/onyx/3000/ir3

Slide 4

Why Linux/Intel?ATI Radeon 9700 - latest consumer video card (linux drivers to

come) 300 million triangles per second 2.6 gigapixel /sec fill rate (textured, AA, Z) 1 128-bit floating point graphics pipeline 24-bit floating-point Z buffer 128-bit fp RGBA color AA 2X/4X/6X (multisampling and supersampling) 2 channels (1 VGA, 1 DVI) 128MB quad channel DDR SDRAM frame buffer 2.1GB/sec system bandwidth AGP 3.0 bus (2x/4x/8x) MSRP $399.00 (you have to supply the PC)

http://www.ati.com/products/pc/radeon9700/index.htmlhttp://www.anandtech.com/video/showdoc.html?i=1656http://www.tomshardware.com/graphic/02q3/020718

Slide 5

Why Linux/Intel?

IR3 Radeon 9700

Polygons /sec up to 210 M polys 300 M triangles

Fill rate /sec 896 M – 7.2 Gpix 2.6 Gpix

Graphic pipes 1 –16 1

Z buffer 24-bit floating pt 24-bit floating pt

Color 48-bit RGBA 128-bit RGBA

AA 8x (multisample) 6x (multi/super)

Channels 1-8 per pipe 2

Texture 256MB -1GB na

Frame buffer 80MB – 320MB 128MB – 256MB

Bandwidth /sec 11.2GB – 716GB 2.1GB

MSRP $119,000 $399 + pc

Slide 6

Why Linux/Intel?

Dave Pape's SPECglperf 3.1.2 results (Onyx2 IR vs PC)drawing display-listed, Z-buffered triangle strips, with varying triangle sizeshttp://www.evl.uic.edu/pape/papers/lowcost.spie02/node7.html

Slide 7

Why Linux/Intel?

Dave Pape's CAVE app benchmark (Onyx2 IR vs PC) http://www.evl.uic.edu/pape/papers/lowcost.spie02/node7.html

Hardware Average FrameRate

Matrox G450 31.0

Quadro2 MXR 97.0

Radeon VE 32.6

Onyx2 InfiniteReality 78.6

Slide 8

Why Linux/Intel?

• Graphics hardware cost/performance

• Intel leader in CPU cost/performance

• Open Source (large community, many projects)

• UNIX (what you are used to)

Slide 9

Hardware: Video Cards (current state)

• Game driven• Large number of manufacturers• Low cost• GPU • Hardware T&L• Hardware Z buffer• Hardware AA• Texture support• Linux drivers

Slide 10

Hardware: Video Cards (limitations)

• limited number of channels (1 AGP slot)

• limited texture memory

• fill rate

• precision* (16bit Z, 32 bit integer graphics pipe)

• quality* (16bit color depth)

• video

Radeon R300*

Slide 11

Hardware: Video Cards (consumer)

• Pros– very low cost (<$500.00)– high performance – innovative: pixel/vertex shaders, shadow buffers, 3D

textures– very fast production cycles (6 months)

• Cons– poor precision (16bit Z, 32 bit integer graphics pipe)– poor quality (16bit color depth)– poor line drawing rates– poor AA

• Examples– nVidia GeForce4 Ti– ATI Radeon 9700– Matrox Parhelia

Slide 12

Hardware: Video Cards (professional)

• Pros– good precision/quality– good line drawing rates– good AA– fully accelerated OpenGL 1.2– more memory– more hardware lights– overlay plane support– quad-buffered stereo– dual channel– application support and certification

• Cons– performance about the same as consumer cards– price 2-3x high end consumer cards– lag (1 cycle) consumer cards in feature innovations

Slide 13

Hardware: Video Cards (professional)

• Examples– nVidia Quadro4– ATI FireGL– 3DLabs Wildcat

Slide 14

Hardware: Processors• 32 bit (Intel XEON, Intel Pentium4, AMD Athlon)• 64 bit coming (Intel Itanium2, AMD Opteron)

– Pros• increased memory address space• higher precision at higher speed

– Cons• data type size increases • greater application memory requirements• performance can degrade if buses not increased • cost >10x 32bit• very new

• Cache L1, L2• Number of processors (1, 2, or 4)

– realtime applications require at least 2 processors

Slide 15

Hardware: I/O and Memory• AGP 3.0 bus

– (2x/4x/8x) – 2.1 GB/s bandwidth

• Storage– ATA/100– Ultra 160 SCSI– Ultra 320 SCSI

• System Bus– 133MHz – 400MHz

• Memory– DDR SDRAM– RDRAM (dual-channel)– Kernel supports up to 64GB of physical memory

Slide 16

Software: System (Operating System)

• Red Hat– RPM– capable installer– most apps certified for Red Hat– IBM– Itanium

• Debian– user maintained/non-commercial– very stable– advanced package management

• apt-get (Synaptic version reads RPM)• very good with dependencies

– Hewlett-Packard

Slide 17

Software: System (Operating System)

• Debian– no release schedule (packages released when ready)– often behind other distributions (no KDE 3.0, no XFree86

4.0)

• UnitedLinux– Caldera– Suse– Conectiva– TurboLinux

Slide 18

Software: System (X and OpenGL)

• X Windows XFree86 4.X– Direct Rendering Infrastructure (DRI)

• direct access to graphics hardware• first used to create fast OpenGL implementations• integrates with Mesa (open source OpenGL)

• OpenGL drivers– ATI

• Radeon* open source DRI (Weather Channel funds TG)• FireGL closed source

– nVidia• GeForce closed source unified driver• Quadro closed source unified driver

*coming end 2002

Slide 19

Software: System (X and OpenGL)

• OpenGL drivers– Matrox

• open source DRI (Precision Insight)– 3Dlabs

• 3rd party, IBM, some open source DRI

• 3rd Party– Xi Graphics http://www.xi-graphics.com– Tungsten Graphics http://www.tungstengraphics.com– Metrolink http://www.metrolink.com

Slide 20

Software: Graphic APIs and Libraries

• OpenGL (SGI SI* Open Source) v1.3– software interface to graphics hardware– low level– hardware independent– distributed either as Mesa (part of XFree86)or with video card (e.g. nVidia)

• GLX (SGI SI Open Source) – glue connecting OpenGL and X Windows– distributed with OpenGL

• GLU (SGI SI Open Source)– OpenGL Utility Library– modeling features (quadratic surfaces, NURBS, curves)

*SI Sample Implementation

Slide 21

Software: Graphic APIs and Libraries

• GLU (SGI SI Open Source)– SGI SI v1.3 GLU library replaces Mesa GLU– distributed separately from OpenGL– http://www.mesa3d.org/downloads/sgi.html

• Glut (Open Source)– OpenGL Utility Toolkit– windowing toolkit (mouse, keyboard, menus, windows)– uses callbacks– abstracts native windowing system (X and GLX)– cross platform toolkit– above Xlib and GLX– distributed separately from OpenGL– http://www.opengl.org/developers/documentation/glut/

index.html

Slide 22

Software: Graphic APIs and Libraries

• Open Inventor– OO toolkit built on top of OpenGL– standard file format– scene graphs– event model– SGI v2.1 http://oss.sgi.com/projects/inventor

• open source sample implementation– Template Graphics Software v3.1 http://www.tgs.com

• closed source • commercial product• higher performance• many enhancements (multi thread, volumetric

rendering, multipipe, collision detection, stereo, etc.)• support for clusters coming

Slide 23

Software: Graphic APIs and Libraries

• OpenGL Performer v2.5– high level API for creation of real-time visual simulations– built on top of OpenGL– high performance– closed source – commercial product

http://www.sgi.com/software/performerhttp://www.sgi.com/software/performer/mailinglist.html

Slide 24

Software: Development (compilers)

• GNU gcc 2.X• GNU gcc 3.0

– P4 optimizers– C, C++, Objective C, Java, Fortran 77

• Intel Fortran and C/C++ v6.0– Fortran 95– substantial source and object code compatibility w GNU C– supports 3.0 ABI– P4, XEON, and Itanium optimizers

• Absoft Pro Fortran v7.5– Fortran 95 and Fortran 77– P4 and AMD optimizers– graphical debugger

Slide 25

Software: Development (compilers)

• Portland Group Fortran and C/C++ v4.0– Fortran 90 and Fortran 77– P4 and AMD optimizers– graphical debugger

Slide 26

Software: Development• Debuggers

– gdb (GNU)– ldb (Intel)– valgrind (memory)– electric fence (memory)– spyGLass (OpenGL)

• Profilers– gprof– cprof– vprof

Slide 27

Software: Development• IDEs– RedHat GNUPro– Metroworks CodeWarrior– KDE Kdevelop – Borland Kylix (Delphi)– Code Forge

• Windowing Toolkits– Qt Designer– gtk+ http://developer.gnome.org/– FLTK– ICS BXpro (viewkit, RapidApp)

http://developer.kde.org/tools/index.htmlhttp://www.codeforge.comhttp://developer.gnome.orghttp://www.trolltech.comhttp://www.ics.com

Slide 28

Resources

• Linux Documentation– http://www.tldp.org– http://www.linux.org

• Open Source Repositories– http://freshmeat.net– http://sourceforge.net– http://oss.sgi.com/projects– http://www.gnu.org

Slide 29

Resources

• Graphics Resources– http://www.opengl.org– http://www.mesa3d.org– http://dri.sourceforge.net– http://www.xfree86.org– http://www.linux3d.org– http://www.sgi.com/software/software.html#linux

Slide 30

Issues with Linux

• Poor support (volunteer effort)

• Lack of commercial applications (Office, Photoshop)

• Too many cooks in the kitchen

• Dependency Hell

• Lack/delay of drivers (e.g. ATI Radeon 9700)

Slide 31

Future• OpenGL 2.0, Cg

– Programmability• vertex processing• fragment processing• image formats

– multipass algorithms– flexible frame buffer config– offscreen rendering– control of texture memory

• Microsoft– DirectX 9– targeting Linux– owns much SGI's 3D patents

Slide 32

Future

• "Microsoft senior vice president Craig Mundie gave a speech at New York University in which Microsoft officially declared war on Linux.“

• "Silicon Graphics Inc has transferred much of its 3D graphics patents portfolio to Microsoft... sources close to the Mountain View are emphatic that these represent the bulk of SGI's 3D intellectual property assets, a view confirmed by documents disclosed to The Register. "

http://www.theregister.co.uk/content/54/23708.html

Slide 33

Conclusions

Linux is a cost effective and rich environment for the development and deployment of computer graphics.