Ray Tracing on Programmable Graphics Hardware

Total Page:16

File Type:pdf, Size:1020Kb

Ray Tracing on Programmable Graphics Hardware Ray Tracing on Programmable Graphics Hardware Timothy J. Purcell Ian Buck William R. Mark ∗ Pat Hanrahan Stanford University † Abstract In this paper, we describe an alternative approach to real-time ray tracing that has the potential to out perform CPU-based algorithms Recently a breakthrough has occurred in graphics hardware: fixed without requiring fundamentally new hardware: using commodity function pipelines have been replaced with programmable vertex programmable graphics hardware to implement ray tracing. Graph- and fragment processors. In the near future, the graphics pipeline ics hardware has recently evolved from a fixed-function graph- is likely to evolve into a general programmable stream processor ics pipeline optimized for rendering texture-mapped triangles to a capable of more than simply feed-forward triangle rendering. graphics pipeline with programmable vertex and fragment stages. In this paper, we evaluate these trends in programmability of In the near-term (next year or two) the graphics processor (GPU) the graphics pipeline and explain how ray tracing can be mapped fragment program stage will likely be generalized to include float- to graphics hardware. Using our simulator, we analyze the per- ing point computation and a complete, orthogonal instruction set. formance of a ray casting implementation on next generation pro- These capabilities are being demanded by programmers using the grammable graphics hardware. In addition, we compare the perfor- current hardware. As we will show, these capabilities are also suf- mance difference between non-branching programmable hardware ficient for us to write a complete ray tracer for this hardware. As using a multipass implementation and an architecture that supports the programmable stages become more general, the hardware can branching. We also show how this approach is applicable to other be considered to be a general-purpose stream processor. The stream ray tracing algorithms such as Whitted ray tracing, path tracing, and processing model supports a variety of highly-parallelizable algo- hybrid rendering algorithms. Finally, we demonstrate that ray trac- rithms, including ray tracing. ing on graphics hardware could prove to be faster than CPU based In recent years, the performance of graphics hardware has in- implementations as well as competitive with traditional hardware creased more rapidly than that of CPUs. CPU designs are opti- accelerated feed-forward triangle rendering. mized for high performance on sequential code, and it is becoming increasingly difficult to use additional transistors to improve per- CR Categories: I.3.1 [Computer Graphics]: Hardware formance on this code. In contrast, programmable graphics hard- Architecture—Graphics processors I.3.7 [Computer Graphics]: ware is optimized for highly-parallel vertex and fragment shading Three-Dimensional Graphics and Realism—Raytracing code [Lindholm et al. 2001]. As a result, GPUs can use additional Keywords: Programmable Graphics Hardware, Ray Tracing transistors much more effectively than CPUs, and thus sustain a greater rate of performance improvement as semiconductor fabri- cation technology advances. 1 Introduction The convergence of these three separate trends – sufficient raw performance for single-chip real-time ray tracing; increasing GPU Real-time ray tracing has been a goal of the computer-graphics programmability; and faster performance improvements on GPUs community for many years. Recently VLSI technology has reached than CPUs – make GPUs an attractive platform for real-time ray the point where the raw computational capability of a single chip tracing. GPU-based ray tracing also allows for hybrid rendering is sufficient for real-time ray tracing. Real-time ray tracing has algorithms; e.g. an algorithm that starts with a Z-buffered rendering been demonstrated on small scenes on a single general-purpose pass for visibility, and then uses ray tracing for secondary shadow CPU with SIMD floating point extensions [Wald et al. 2001b], and rays. Blurring the line between traditional triangle rendering and for larger scenes on a shared memory multiprocessor [Parker et al. ray tracing allows for a natural evolution toward increased realism. 1998; Parker et al. 1999] and a cluster [Wald et al. 2001b; Wald In this paper, we show how to efficiently implement ray tracing et al. 2001a]. Various efforts are under way to develop chips spe- on GPUs. The paper contains three main contributions: cialized for ray tracing, and ray tracing chips that accelerate off-line rendering are commercially available [Hall 2001]. Given that real- • We show how ray tracing can be mapped to a stream pro- time ray tracing is possible in the near future, it is worthwhile to cessing model of parallel computation. As part of this map- study implementations on different architectures with the goal of ping, we describe an efficient algorithm for mapping the in- providing maximum performance at the lowest cost. nermost ray-triangle intersection loop to multiple rendering ∗ passes. We then show how the basic ray caster can be ex- Currently at NVIDIA Corporation tended to include shadows, reflections, and path tracing. †{tpurcell, ianbuck, billmark, hanrahan}@graphics.stanford.edu • We analyze the streaming GPU-based ray caster’s perfor- mance and show that it is competitive with current CPU-based ray casting. We also show initial results for a system including secondary rays. We believe that in the near future, GPU-based ray tracing will be much faster than CPU-based ray tracing. Copyright © 2002 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or • To guide future GPU implementations, we analyze the com- distributed for commercial advantage and that copies bear this notice and the full pute and memory bandwidth requirements of ray casting on citation on the first page. Copyrights for components of this work owned by GPUs. We study two basic architectures: one architecture others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior without branching that requires multiple passes, and another specific permission and/or a fee. Request permissions from Permissions Dept, with branching that requires only a single pass. We show that ACM Inc., fax +1-212-869-0481 or e-mail [email protected]. © 2002 ACM 1-58113-521-1/02/0007 $5.00 703 the single pass version requires significantly less bandwidth, shader has two stages: a first texture addressing stage consist- and is compute-limited. We also analyze the performance of ing of four texture fetch instructions followed by eight color the texture cache when used for ray casting and show that it is blending instructions, and then a color computation stage con- very effective at reducing bandwidth. sisting of additional texture fetches followed by color com- bining arithmetic. This programming model permits a single level of dependent texturing. 2 Programmable Graphics Hardware • Only a single color value may be written to the framebuffer in 2.1 The Current Programmable Graphics Pipeline each pass. • Programs cannot loop and there are no conditional branching Application instructions. 2.2 Proposed Near-term Programmable Graphics Vertex Program Pipeline The limitations of current hardware make it difficult to implement Rasterization ray tracing in a fragment program. Fortunately, due to the inter- est in programmable shading for mainstream game applications, programmable pipelines are rapidly evolving and many hardware and software vendors are circulating proposals for future hardware. Fragment Program In fact, many of the current limitations are merely a result of the fact that they represent the very first generation of programmable hardware. In this paper, we show how to implement a ray tracer Display on an extended hardware model that we think approximates hard- ware available in the next year or two. Our model is based loosely Figure 1: The programmable graphics pipeline. on proposals by Microsoft for DirectX 9.0 [Marshall 2001] and by A diagram of a modern graphics pipeline is shown in figure 1. 3DLabs for OpenGL 2.0 [3DLabs 2001]. Today’s graphics chips, such as the NVIDIA GeForce3 [NVIDIA Our target baseline architecture has the following features: 2001] and the ATI Radeon 8500 [ATI 2001] replace the fixed- • function vertex and fragment (including texture) stages with pro- A programmable fragment stage with floating point instruc- grammable stages. These programmable vertex and fragment en- tions and registers. We also assume floating point texture and gines execute user-defined programs and allow fine control over framebuffer formats. shading and texturing calculations. An NVIDIA vertex program • Enhanced fragment program assembly instructions. We in- consists of up to 128 4-way SIMD floating point instructions [Lind- clude instructions which are now only available at the vertex holm et al. 2001]. This vertex program is run on each incoming ver- level. Furthermore, we allow longer programs; long enough tex and the computed results are passed on to the rasterization stage. so that our basic ray tracing components may be downloaded The fragment stage is also programmable, either through NVIDIA as a single program (our longest program is on the order of 50 register combiners [Spitzer 2001] or DirectX 8 pixel shaders [Mi- instructions). crosoft
Recommended publications
  • High End Visualization with Scalable Display System
    HIGH END VISUALIZATION WITH SCALABLE DISPLAY SYSTEM Dinesh M. Sarode*, Bose S.K.*, Dhekne P.S.*, Venkata P.P.K.*, Computer Division, Bhabha Atomic Research Centre, Mumbai, India Abstract display, then the large number of pixels shows the picture Today we can have huge datasets resulting from in greater details and interaction with it enables the computer simulations (CFD, physics, chemistry etc) and greater insight in understanding the data. However, the sensor measurements (medical, seismic and satellite). memory constraints, lack of the rendering power and the There is exponential growth in computational display resolution offered by even the most powerful requirements in scientific research. Modern parallel graphics workstation makes the visualization of this computers and Grid are providing the required magnitude difficult or impossible. computational power for the simulation runs. The rich While the cost-performance ratio for the component visualization is essential in interpreting the large, dynamic based on semiconductor technologies doubling in every data generated from these simulation runs. The 18 months or beyond that for graphics accelerator cards, visualization process maps these datasets onto graphical the display resolution is lagging far behind. The representations and then generates the pixel resolutions of the displays have been increasing at an representation. The large number of pixels shows the annual rate of 5% for the last two decades. The ability to picture in greater details and interaction with it enables scale the components: graphics accelerator and display by the greater insight on the part of user in understanding the combining them is the most cost-effective way to meet data more quickly, picking out small anomalies that could the ever-increasing demands for high resolution.
    [Show full text]
  • Programming Graphics Hardware Overview of the Tutorial: Afternoon
    Tutorial 5 ProgrammingProgramming GraphicsGraphics HardwareHardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 Introduction to the Hardware Graphics Pipeline Cyril Zeller 9:30 Controlling the GPU from the CPU: the 3D API Cyril Zeller 10:15 Break 10:45 Programming the GPU: High-level Shading Languages Randy Fernando 12:00 Lunch Tutorial 5: Programming Graphics Hardware Overview of the Tutorial: Afternoon 12:00 Lunch 14:00 Optimizing the Graphics Pipeline Matthias Wloka 14:45 Advanced Rendering Techniques Matthias Wloka 15:45 Break 16:15 General-Purpose Computation Using Graphics Hardware Mark Harris 17:30 End Tutorial 5: Programming Graphics Hardware Tutorial 5: Programming Graphics Hardware IntroductionIntroduction toto thethe HardwareHardware GraphicsGraphics PipelinePipeline Cyril Zeller Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing 1999-2000: Transform and lighting 2001: Programmable vertex shader 2002-2003: Programmable pixel shader 2004: Shader model 3.0 and 64-bit color support PC graphics software architecture Performance numbers Tutorial 5: Programming Graphics Hardware Real-Time Rendering Graphics hardware enables real-time rendering Real-time means display rate at more than 10 images per second 3D Scene = Image = Collection of Array of pixels 3D primitives (triangles, lines, points) Tutorial 5: Programming Graphics Hardware Hardware Graphics Pipeline
    [Show full text]
  • Autodesk Inventor Laptop Recommendation
    Autodesk Inventor Laptop Recommendation Amphictyonic and mirthless Son cavils her clouter masters sensually or entomologizing close-up, is Penny fabaceous? Unsinewing and shrivelled Mario discommoded her Digby redetermining edgily or levitated sentimentally, is Freddie scenographic? Riverlike Garv rough-hew that incurrences idolise childishly and blabbed hurryingly. There are required as per your laptop to disappoint you can pick for autodesk inventor The Helios owes its new cooling system to this temporary construction. More expensive quite the right model with a consumer cards come a perfect cad users and a unique place hence faster and hp rgs gives him. Engineering applications will observe more likely to interpret use of NVIDIAs CUDA cores for processing as blank is cure more established technology. This article contains affiliate links, if necessary. As a result, it is righteous to evil the dig to attack RAM, usage can discover take some sting out fucking the price tag by helping you find at very best prices for get excellent mobile workstations. And it plays Skyrim Special Edition at getting top graphics level. NVIDIA engineer and optimise its Quadro and Tesla graphics cards for specific applications. Many laptops and inventor his entire desktop is recommended laptop. Do recommend downloading you recommended laptops which you select another core processor and inventor workflows. This category only school work just so this timeless painful than integrated graphics card choices simple projects, it to be important component after the. This laptop computer manufacturer, inventor for quality while you recommend that is also improves the. How our know everything you should get a laptop home it? Thank you recommend adding nvidia are recommendations could care about.
    [Show full text]
  • Order Independent Transparency in Opengl 4.X Christoph Kubisch – [email protected] TRANSPARENT EFFECTS
    Order Independent Transparency In OpenGL 4.x Christoph Kubisch – [email protected] TRANSPARENT EFFECTS . Photorealism: – Glass, transmissive materials – Participating media (smoke...) – Simplification of hair rendering . Scientific Visualization – Reveal obscured objects – Show data in layers 2 THE CHALLENGE . Blending Operator is not commutative . Front to Back . Back to Front – Sorting objects not sufficient – Sorting triangles not sufficient . Very costly, also many state changes . Need to sort „fragments“ 3 RENDERING APPROACHES . OpenGL 4.x allows various one- or two-pass variants . Previous high quality approaches – Stochastic Transparency [Enderton et al.] – Depth Peeling [Everitt] 3 peel layers – Caveat: Multiple scene passes model courtesy of PTC required Peak ~84 layers 4 RECORD & SORT 4 2 3 1 . Render Opaque – Depth-buffer rejects occluded layout (early_fragment_tests) in; fragments 1 2 3 . Render Transparent 4 – Record color + depth uvec2(packUnorm4x8 (color), floatBitsToUint (gl_FragCoord.z) ); . Resolve Transparent 1 2 3 4 – Fullscreen sort & blend per pixel 4 2 3 1 5 RESOLVE . Fullscreen pass uvec2 fragments[K]; // encodes color and depth – Not efficient to globally sort all fragments per pixel n = load (fragments); sort (fragments,n); – Sort K nearest correctly via vec4 color = vec4(0); register array for (i < n) { blend (color, fragments[i]); – Blend fullscreen on top of } framebuffer gl_FragColor = color; 6 TAIL HANDLING . Tail Handling: – Discard Fragments > K – Blend below sorted and hope error is not obvious [Salvi et al.] . Many close low alpha values are problematic . May not be frame- coherent (flicker) if blend is not primitive- ordered K = 4 K = 4 K = 16 Tailblend 7 RECORD TECHNIQUES . Unbounded: – Record all fragments that fit in scratch buffer – Find & Sort K closest later + fast record - slow resolve - out of memory issues 8 HOW TO STORE .
    [Show full text]
  • Evolution of the Graphical Processing Unit
    University of Nevada Reno Evolution of the Graphical Processing Unit A professional paper submitted in partial fulfillment of the requirements for the degree of Master of Science with a major in Computer Science by Thomas Scott Crow Dr. Frederick C. Harris, Jr., Advisor December 2004 Dedication To my wife Windee, thank you for all of your patience, intelligence and love. i Acknowledgements I would like to thank my advisor Dr. Harris for his patience and the help he has provided me. The field of Computer Science needs more individuals like Dr. Harris. I would like to thank Dr. Mensing for unknowingly giving me an excellent model of what a Man can be and for his confidence in my work. I am very grateful to Dr. Egbert and Dr. Mensing for agreeing to be committee members and for their valuable time. Thank you jeffs. ii Abstract In this paper we discuss some major contributions to the field of computer graphics that have led to the implementation of the modern graphical processing unit. We also compare the performance of matrix‐matrix multiplication on the GPU to the same computation on the CPU. Although the CPU performs better in this comparison, modern GPUs have a lot of potential since their rate of growth far exceeds that of the CPU. The history of the rate of growth of the GPU shows that the transistor count doubles every 6 months where that of the CPU is only every 18 months. There is currently much research going on regarding general purpose computing on GPUs and although there has been moderate success, there are several issues that keep the commodity GPU from expanding out from pure graphics computing with limited cache bandwidth being one.
    [Show full text]
  • Graphics Processing Units
    Graphics Processing Units Graphics Processing Units (GPUs) are coprocessors that traditionally perform the rendering of 2-dimensional and 3-dimensional graphics information for display on a screen. In particular computer games request more and more realistic real-time rendering of graphics data and so GPUs became more and more powerful highly parallel specialist computing units. It did not take long until programmers realized that this computational power can also be used for tasks other than computer graphics. For example already in 1990 Lengyel, Re- ichert, Donald, and Greenberg used GPUs for real-time robot motion planning [43]. In 2003 Harris introduced the term general-purpose computations on GPUs (GPGPU) [28] for such non-graphics applications running on GPUs. At that time programming general-purpose computations on GPUs meant expressing all algorithms in terms of operations on graphics data, pixels and vectors. This was feasible for speed-critical small programs and for algorithms that operate on vectors of floating-point values in a similar way as graphics data is typically processed in the rendering pipeline. The programming paradigm shifted when the two main GPU manufacturers, NVIDIA and AMD, changed the hardware architecture from a dedicated graphics-rendering pipeline to a multi-core computing platform, implemented shader algorithms of the rendering pipeline in software running on these cores, and explic- itly supported general-purpose computations on GPUs by offering programming languages and software- development toolchains. This chapter first gives an introduction to the architectures of these modern GPUs and the tools and languages to program them. Then it highlights several applications of GPUs related to information security with a focus on applications in cryptography and cryptanalysis.
    [Show full text]
  • A Hardware Processing Unit for Point Sets
    Graphics Hardware (2008) David Luebke and John D. Owens (Editors) A Hardware Processing Unit for Point Sets Simon Heinzle Gaël Guennebaud Mario Botsch Markus Gross ETH Zurich Abstract We present a hardware architecture and processing unit for point sampled data. Our design is focused on funda- mental and computationally expensive operations on point sets including k-nearest neighbors search, moving least squares approximation, and others. Our architecture includes a configurable processing module allowing users to implement custom operators and to run them directly on the chip. A key component of our design is the spatial search unit based on a kd-tree performing both kNN and eN searches. It utilizes stack recursions and features a novel advanced caching mechanism allowing direct reuse of previously computed neighborhoods for spatially coherent queries. In our FPGA prototype, both modules are multi-threaded, exploit full hardware parallelism, and utilize a fixed-function data path and control logic for maximum throughput and minimum chip surface. A detailed analysis demonstrates the performance and versatility of our design. Categories and Subject Descriptors (according to ACM CCS): I.3.1 [Hardware Architecture]: Graphics processors 1. Introduction radius. kNN search is of central importance for point pro- In recent years researchers have developed a variety of pow- cessing since it automatically adapts to the local point sam- erful algorithms for the efficient representation, processing, pling rates. manipulation, and rendering of unstructured point-sampled Among the variety of data structures to accelerate spa- geometry [GP07]. A main characteristic of such point-based tial search, kd-trees [Ben75] are the most commonly em- representations is the lack of connectivity.
    [Show full text]
  • Intel Embedded Graphics Drivers, EFI Video Driver, and Video BIOS V10.4
    Intel® Embedded Graphics Drivers, EFI Video Driver, and Video BIOS v10.4 User’s Guide April 2011 Document Number: 274041-032US INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
    [Show full text]
  • Best Practice for Mobile
    If this doesn’t look familiar, you’re in the wrong conference 1 This section of the course is about the ways that mobile graphics hardware works, and how to work with this hardware to get the best performance. The focus here is on the Vulkan API because the explicit nature exposes the hardware, but the principles apply to other programming models. There are ways of getting better mobile efficiency by reducing what you’re drawing: running at lower frame rate or resolution, only redrawing what and when you need to, etc.; we’ve addressed those in previous years and you can find some content on the course web site, but this time the focus is on high-performance 3D rendering. Those other techniques still apply, but this talk is about how to keep the graphics moving and assuming you’re already doing what you can to reduce your workload. 2 Mobile graphics processing units are usually fundamentally different from classical desktop designs. * Mobile GPUs mostly (but not exclusively) use tiling, desktop GPUs tend to use immediate-mode renderers. * They use system RAM rather than dedicated local memory and a bus connection to the GPU. * They have multiple cores (but not so much hyperthreading), some of which may be optimised for low power rather than performance. * Vulkan and similar APIs make these features more visible to the developer. Here, we’re mostly using Vulkan for examples – but the architectural behaviour applies to other APIs. 3 Let’s start with the tiled renderer. There are many approaches to tiling, even within a company.
    [Show full text]
  • Introduction to Graphics Hardware and GPU's
    Blockseminar: Verteiltes Rechnen und Parallelprogrammierung Tim Conrad GPU Computer: CHINA.imp.fu-berlin.de GPU Intro Today • Introduction to GPGPUs • “Hands on” to get you started • Assignment 3 • Projects GPU Intro Traditional Computing Von Neumann architecture: instructions are sent from memory to the CPU Serial execution: Instructions are executed one after another on a single Central Processing Unit (CPU) Problems: • More expensive to produce • More expensive to run • Bus speed limitation GPU Intro Parallel Computing Official-sounding definition: The simultaneous use of multiple compute resources to solve a computational problem. Benefits: • Economical – requires less power and cheaper to produce • Better performance – bus/bottleneck issue Limitations: • New architecture – Von Neumann is all we know! • New debugging difficulties – cache consistency issue GPU Intro Flynn’s Taxonomy Classification of computer architectures, proposed by Michael J. Flynn • SISD – traditional serial architecture in computers. • SIMD – parallel computer. One instruction is executed many times with different data (think of a for loop indexing through an array) • MISD - Each processing unit operates on the data independently via independent instruction streams. Not really used in parallel • MIMD – Fully parallel and the most common form of parallel computing. GPU Intro Enter CUDA CUDA is NVIDIA’s general purpose parallel computing architecture • Designed for calculation-intensive computation on GPU hardware • CUDA is not a language, it is an API • We will
    [Show full text]
  • Power Optimizations for Graphics Processors
    POWER OPTIMIZATIONS FOR GRAPHICS PROCESSORS B.V.N.SILPA DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING INDIAN INSTITUTE OF TECHNOLOGY DELHI March 2011 POWER OPTIMAZTIONS FOR GRAPHICS PROCESSORS by B.V.N.SILPA Department of Computer Science and Engineering Submitted in fulfillment of the requirements of the degree of Doctor of Philosophy to the Indian Institute of Technology Delhi March 2011 Certificate This is to certify that the thesis titled Power optimizations for graphics pro- cessors being submitted by B V N Silpa for the award of Doctor of Philosophy in Computer Science & Engg. is a record of bona fide work carried out by her under my guidance and supervision at the Deptartment of Computer Science & Engineer- ing, Indian Institute of Technology Delhi. The work presented in this thesis has not been submitted elsewhere, either in part or full, for the award of any other degree or diploma. Preeti Ranjan Panda Professor Dept. of Computer Science & Engg. Indian Institute of Technology Delhi Acknowledgment It is with immense gratitude that I acknowledge the support and help of my Professor Preeti Ranjan Panda in guiding me through this thesis. I would like to thank Professors M. Balakrishnan, Anshul Kumar, G.S. Visweswaran and Kolin Paul for their valuable feedback, suggestions and help in all respects. I am indebted to my dear friend G Kr- ishnaiah for being my constant support and an impartial critique. I would like to thank Neeraj Goel, Anant Vishnoi and Aryabartta Sahu for their technical and moral support. I would also like to thank the staff of Philips, FPGA, Intel laboratories and IIT Delhi for their help.
    [Show full text]
  • Computer Specifications 2018-19
    Computer Specifications School Year 2018-2019 COMPUTER SPECIFICATIONS 2018-19 OVERVIEW PLTW curricula utilize powerful, industry-based software. Ensure computer hardware meets or exceeds the specifications below. Please be sure to make this purchase in consultation with your IT department. Note the following are not supported for use in PLTW coursework: • Chromebooks (most required pieces of software are not supported for use on Chromebooks) • Open Office • Google Docs • Virtual Desktop Environments ______________________________________________________________________________ PLTW Engineering Specifications: • Each teacher must have a laptop (1:1 ratio) • Each student must have a laptop or desktop computer (1:1 ratio) • Each classroom needs a digital projector with screen and appropriate cables/adapters to connect the teacher laptop to the projector Specification Minimum Recommended (but not required) Processor Intel or AMD two+ core processor 2.0 Ghz + Intel or AMD four+ core processor, 3.0 Ghz + RAM 8 GB + 20 GB + Hard Drive 500 GB + 1 TB + 512 MB + dedicated RAM, Microsoft® Direct3D 1 GB + dedicated RAM, Microsoft® Direct3D 11® Video Card 10® capable graphics card or higher supporting capable graphics card or higher supporting 1280 x 1280 x 1024 screen resolution* 1024 screen resolution* Optical Drive Not required for PLTW Software Not required for PLTW Software Windows 7, Windows 8, or Windows 10, 64 bit Windows 7, Windows 8, or Windows 10, 64 bit Operating operating system or Apple device with OSX 10.9 +. operating system or Apple device with OSX 10.10 System Bootcamp required with one of the above +. Bootcamp required with one of the above Windows operating systems. Windows operating systems.
    [Show full text]