15
Jared Law CUDA: Super-Computing Made Easy

Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

  • View
    256

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

CUDA:Super-Computing Made Easy

Page 2: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA:

• Why CUDA?

• What is CUDA?

• Where/how is CUDA being used?

• What does CUDA mean to programmers?

Page 3: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Timeline

• 1999 – First NVidia Graphics Processing Unit (GPU)

Page 4: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Timeline

• 1999 – First NVidia Graphics Processing Unit (GPU)• 2003 –

Page 5: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Timeline

• 1999 – First NVidia Graphics Processing Unit (GPU)• 2003 – GPGPU Computing

Page 6: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: GPGPU Programming

• Using GPUs as general parallel processors

• Languages– OpenGL– DirectX– Cg

• Programmers had to . . .– Have an intimate knowledge

of GPUs– Learn new languages– Translate input to vertex data

and shader programs

Page 7: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Timeline

• 1999 – First NVidia Graphics Processing Unit (GPU)• 2003 – GPGPU Computing• 2006 – First CUDA-Enabled GPU (GeForce 8800)

Page 8: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: What is it?

• CUDA- Compute Unified Device Architecture- Departs from the GPGPU model

• New architecture – G80 (2006)– GT200 (2008)– Fermi (2009)

• Simplified API using C abstractions – C++– Fortran– Nexus IDE

Page 9: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Getting Started

• CUDA-Enabled Card Required.- www.nvidia.com/object/cuda_gpus.html

• Download the “free” CUDA toolkit and driver.- http://developer.nvidia.com/cuda-downloads

• Start coding.

Page 10: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: CUDA C Example

Page 11: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Timeline

• 1999 – First NVidia Graphics Processing Unit (GPU)• 2003 – GPGPU Computing• 2006 – First CUDA-Enabled GPU (GeForce 8800)• 2011 – CUDA is EVERYWHERE!

Page 12: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Silver Screen

• 2009 - Avatar• 2010 - Iron Man 2, Inception, The Last Airbender, Black

Swan

Page 13: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Consumer Software

• Video Conversion and Editing (Adobe, Cyberlink)• Operating Systems (Windows 7)• Design Tools (Agilent)• Education (MATLAB)

Plenty more at http://www.nvidia.com/object/cuda_app_tesla.html

Page 14: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Research

• Physics Simulation

• Medical Imaging

• Life Sciences

• Computational Fluid Dynamics– www.nvidia.com/object/cuda_apps_flash_new.html#

Page 15: Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law

NVidia CUDA: Conclusion

Visit www.nvidia.com for more information.

Any questions?

REFERENCES

Boyd, C. 2008. Data-parallel computing. ACM Queue 6, 2 (March/April), 30-39.Fatahalian, K. and Houston, M. 2008. Gpus: A closer look. ACM Queue 6, 2 (March/April), 18-28.Mark, W. 2008. Future graphics architectures. ACM Queue 6, 2 (March/April), 54-64.Nickolls, J., Buck, I., Garland, M., and Skadron, K. 2008. Scalable parallel programming. ACM Queue 6, 2

(March/April), 40-53.NVidia 2009. NVIDIA's Next Generation CUDA Compute Architecture: Fermi. NVidia.NVidia 2010. NVIDIA CUDA C Programming Guide. NVidia.Senocak, I., Thibault, J., and Caylor, M. 2009. Rapid-response urban cfd simulations using a gpu computing paradigm

on desktop supercomputers. Eighth Symposium on the Urban Environment 19.2 (January).Wilkinson, B. and Allen, M. 2005. Parallel Programming: Techniques and Applications Using Networked Workstations

and Parallel Computers, 2 ed. Pearson Prentice Hall.