干货 | 加速AI发展!一文了解GPU Computing

大家可能都听说过Alex Krizhevsky,他在博士期间设计了人类历史上第一个真正意义上的深度神经网络AlexNet——一共是八个学习层,包含六千万个参数。他的导师Hinton(被称为“神经网络之父”)并不支持他将这个作为博士论文的研究方向,因为当时的计算都是基于CPU的计算方式,这样的神经网络模型训练一次就要几个月的时间;然后要手动调参,再重新训练,这样反复下来,想要得到一个靠谱的神经网络模型,大约需要几十遍;运气好的时候十几遍的训练次数,可能要花费数十年的时间。但是Alex作为一个典型的Geek并不放弃,在学习数学之余他还学习了大量与编程相关的知识,其中就包括CUDA。

CUDA是NVIDIA创造的一个并行计算平台和编程模型。它利用图形处理器(GPU)能力,实现计算性能的显著提高。NVIDIA是在2006年推出的CUDA,自那以后,股价从最初的7美元一路攀升到现在的260多美元。

Alex用CUDA重新对他的模型进行编程,然后买了两块当时非常强大的显卡GTX580,花了6天时间训练AlexNet,并且不断调优和完善。后来参加了李飞飞主导的ImageNet大赛,并且获得了当年的冠军。AlexNet当时能够达到的图像识别精度,遥遥领先于第二名。大赛之后,Alex和他的导师Hinton成立了公司,这个公司几个月以后被Google以4亿美金收购。这是一个靠GPU创富的故事,可以看到,GPU与深度神经网络的第一次结合创造了4亿美金的价值。

a78b723dd90906fd38b6dcc372e17187961ac3cd

英伟达™精视™ (NVIDIA® GeForce®) GTX 580

在这之后,我们经历了近似寒武纪时期的神经网络模型大爆发的时代。2012年之前,人们虽然一直在研究,但是没有足够的算力来支撑这些算法,但是新的计算方式GPU Computing的出现,支撑了同类型的神经网络模型的训练;从而促成了各种模型的爆发式增长,进而进入到人工智能的时代。

如今,大家可以使用Caffe、TensorFlow、Theano等等开源的深度学习平台来进行实现自己的算法,也可以在CUDA上进行编程。人工智能研究领域的头部公司,他们现在推荐的算法模型已经达到了相当复杂的程度,一个模型可以达到1个T甚至几个T的规模,包含几十亿甚至上百亿个参数,数据量更是可想而知。这样的模型训练起来难度就越发高。因此,三算就这样纠缠在一起,互相促进、互相提升。

大家都知道著名的摩尔定律,其内容是当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。但是根据OPEN AI的今年年初的测算,从AlexNet出现以后,到去年年底一共大概5年的时间,在人工智能模型的训练层面,我们对于计算力的需求提升了30万倍。

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Quadtree Displacement Mapping with Height Blending Michal Drobot Overview Introduction Overview of Ray-Tracing Algorithms Quadtree Displacement Mapping Self-Shadowing Ambient Occlusion Surface Blending General Advice Conclusion Bibliography NPR Effects Using the Geometry Shader Pedro Hermosilla and Pere-Pau Vazquez Introduction Previous Work Silhouette Rendering Pencil Rendering Acknowledgments Bibliography Alpha Blending as a Post-Process Benjamin Hathaway Introduction The Alternatives The Source Artwork Initial Attempts The Screen-Space Alpha Mask 3.6 3.7 3.8 3.9 3.10 3.11 4 4.1 4.3 4.4 4.5 4.6 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 6.1 6.2 6.3 6.4 6.5 6.6 Alpha Reference Issues Rendering Pipeline Integration Conclusion Demo Acknowledgments Source Code Bibliography Virtual Texture Mapping 101 Matth¨aus G. Chajdas, Christian Eisenacher, Marc Stamminger and Sylvain Lefebvre Introduction Implementation Details Conclusion Shader Code Acknowledgments Bibliography Pre-Integrated Skin Shading Eric Penner and George Borshukov Introduction Background and Previous Work Pre-Integrating the Effects of Scattering Scattering and Diffuse Light Scattering and Normal Maps Shadow Scattering Conclusion and Future Work Appendix A: Lookup Textures Appendix B: Simplified Skin Shader Bibliography Implementing Fur Using Deferred Shading Donald Revie Deferred Rendering Fur Techniques Fur Implementation Details Conclusion Acknowledgments 7 7.1 7.4 7.5 7.6 7.7 7.8 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 9 9.1 9.2 9.3 10 10.1 10.2 10.3 10.4 10.5 Bibliography Large-Scale Terrain Rendering for Outdoor Games Ferenc Pint´er Introduction Content Creation and Editing Runtime Shading Performance Possible Extensions Acknowledgments Bibliography Practical Morphological Antialiasing Jorge Jimenez, Belen Masia, Jose I. Echevarria, Fernando Navarro and Diego Gutierrez Overview Detecting Edges Obtaining Blending Weights Blending with the Four-Neighborhood Results Discussion Conclusion Acknowledgments Bibliography Volume Decals Emil Persson Introduction Decals as Volumes Conclusions Bibliography Practical Elliptical Texture Filtering on the GPU Pavlos Mavridis and Georgios Papaioannou Introduction Elliptical Filtering Elliptical Footprint Approximation Results Conclusions 10.6 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 12 12.1 12.2 12.3 12.4 12.5 13 13.1 13.2 13.3 13.4 13.5 13.6 14 14.1 14.2 Acknowledgments Bibliography An Approximation to the Chapman Grazing-Incidence Function for Atmospheric Scattering Christian Schuler Introduction Atmospheric Scattering The Chapman Function Towards a Real-Time Approximation Implementation Putting the Chapman Function to Use Conclusion Appendix Bibliography Volumetric Real-Time Water and Foam Rendering Daniel Scherzer, Florian Bagar and Oliver Mattausch Introduction Simulation Rendering Artist Control Conclusion Bibliography Inexpensive Antialiasing of Simple Objects Mikkel Gj0l and Mark Gj0l Introduction Antialiasing via Smoothed Lines Rendering Lines Discussion Conclusion Acknowledgments Bibliography Practical Planar Reflections Using Cubemaps and Image Proxies Sebastien Lagarde and Antoine Zanuttini Introduction Generating Reflection Textures 14.3 14.4 14.5 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 16.1 16.2 16.3 16.4 16.5 16.6 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 Using Reflection Textures Conclusion and Future Work Acknowledgments Bibliography Real-Time Ptex and Vector Displacement Karl Hillesland Introduction Packed Ptex Runtime Implementation Adding Displacement Performance Costs Memory Costs Alternatives and Future Work Conclusion Acknowledgments Bibliography Decoupled Deferred Shading on the GPU Gabor Liktor and Carsten Dachsbacher Introduction Decoupled Sampling in a Rasterization Pipeline Shading Reuse for Deferred Shading Implementation Results Acknowledgments Bibliography Tiled Forward Shading Markus Billeter, Ola Olsson and Ulf Assarsson Introduction Recap: Forward, Deferred, and Tiled Shading Tiled Forward Shading: Why? Basic Tiled Forward Shading Supporting Transparency Support for MSAA Supporting Different Shaders Conclusion and Further Improvements Bibliography 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 19 19.1 19.1 19.3 19.5 19.6 19.7 19.8 20 20.1 20.2 20.3 20.4 20.5 20.6 21 21.1 21.2 21.4 21.5 Forward+: A Step Toward Film-Style Shading in Real Time Takahiro Harada, Jay McKee and Jason C. Yang Introduction Forward+ Implementation and Optimization Results Forward+ in the AMD Leo Demo Extensions Conclusion Acknowledgments Bibliography Progressive Screen-Space Multichannel Surface Voxelization Athanasios Gaitatzes and Georgios Papaioannou Introduction Overview of Voxelization Method Progressive Voxelization for Lighting Performance and Evaluation Limitations Conclusion Acknowledgments Bibliography Rasterized Voxel-Based Dynamic Global Illumination Hawar Doghramachi Introduction Overview Implementation Handling Large Environments Results Conclusion Bibliography Per-Pixel Lists for Single Pass A-Buffer Sylvain Lefebvre, Samuel Hornus and Anass Lasram Introduction Linked Lists with Pointers (Lin-alloc) Post-sort and Pre-sort Memory Management 21.6 21.7 21.8 21.9 22 22.1 22.2 22.3 22.4 22.5 23 23.1 23.2 23.3 23.4 23.5 23.6 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 Implementation Experimental Comparisons Conclusion Acknowledgments Bibliography Reducing Texture Memory Usage by 2-Channel Color Encoding Krzysztof Kluczek Introduction Texture Encoding Algorithm Decoding Algorithm Encoded Image Quality Conclusion Bibliography Particle-Based Simulation of Material Aging Tobias Gunther, Kai Rohmer and Thorsten Grosch Introduction Overview Simulation Preview Rendering Results Conclusions Bibliography Simple Rasterization-Based Liquids Martin Guay Overview Introduction Simple Liquid Model Splatting Grid Pass Particle Update Rigid Obstacles Examples Conclusion Bibliography Next-Generation Rendering in Thief 25.1 25.2 25.3 25.4 25.5 25.5.3 25.6 25.7 26 26.1 26.2 26.3 26.4 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 27.10 28 28.1 28.2 Peter Sikachev, Samuel Delmont, Uriel Doyon and Jean-Normand Bucci Introduction Reflections Contact-Hardening Shadows Lit Particles Compute-Shader-Based Postprocessing Results Conclusion Acknowledgments Bibliography Grass Rendering and Simulation with LOD Dongsoo Han and Hongwei Li Introduction Render Grass Blades Simulation Conclusion Bibliography Hybrid Reconstruction Antialiasing Michal Drobot Introduction Overview Related Work Hybrid Antialiasing Overview Temporally Stable Edge Antialiasing Temporal Super-Sampling Temporal Antialiasing (TAA) Final Implementation Results Discussion Conclusion Bibliography Real-Time Rendering of Physically Based Clouds Using Precomputed Scattering Egor Yusov Introduction Light Transport Theory 28.3 28.4 28.5 28.6 28.7 29 29.1 29.2 29.3 29.4 29.5 29.6 30 30.1 30.2 30.3 30.4 30.5 31 31.1 31.2 31.3 31.4 31.5 32 32.1 Precomputed Solutions Volume-Aware Blending Implementation Results and Discussion Conclusion Bibliography Sparse Procedural Volume Rendering Doug McNabb Introduction Overview of Current Techniques Overview Metavoxels Algorithm Conclusion Bibliography Adaptive Virtual Textures Ka Chen Introduction Procedural Virtual Textures Basics Adaptive Virtual Textures Virtual Texture Best Practices Conclusion Bibliography Deferred Coarse Pixel Shading Rahul P. Sathe and Tomasz Janczak Overview Introduction and Background Algorithm Performance Conclusion Bibliography Progressive Rendering Using Multi-frame Sampling Daniel Limberger, Karsten Tausche, Johannes Linke and Jürgen Döllner Introduction 32.2 32.3 32.4 32.5 Approach Multi-frame Rendering Techniques Conclusion and Future Work Bibliography

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值