Go on GPU## Go on GPU ## Changkun Ou changkun.de/s/gogpu GopherChina 2023 Session “Foundational Toolchains” 2023 June 10 ## Agenda - Basic knowledge for interacting with GPUs • Accelerate Go programs using • Conclusion and outlooks ## Agenda - Basic knowledge for interacting with GPUs o Motivation o GPU Driver and Standards Render and compute pipeline o Vulkan/Metal/DX12/OpenGL ☐ Accelerate Go programs programs using GPUs ☐ Challenges in Go when using GPUs ☐ Conclusion and outlooks ## Motivation of GPU Acceleration Improve system computation performance Increase amount of concurrency Processing large0 码力 | 57 页 | 4.62 MB | 2 年前3
1.2.4 Go on GPUGo on GPU 欧长坤 changkun.de/s/gogpu GopherChina 2023 Session “Foundational Toolchains” 2023 June 10 关于我 慕尼黑大学博士 (@mimuc/staff) 研究方向人在环路优化 (human-in-the-loop optimization) Sixt高级工程师 (@sixt/pricing-yield) …) 大纲 与GPU进行交互的基本知识 在Go程序中支持GPU加速 使用 Go 进行 GPU 计算的挑战 总结 大纲 与 GPU 进行交互的基本知识 使用 GPU 的动机 GPU 驱动和标准 渲染管线和计算管线 Vulkan/Metal/DX12/OpenGL 在 Go 程序中支持 GPU 加速 使用 Go 进行 GPU 计算的挑战 总结 总结 使用GPU加速计算的动机 提高系统计算性能 更大的并发量 大规模数据处理 机器学习、深度学习、图形学渲染等等 ’ alt=‘OCR图片’/> CPU的架构 ’ alt=‘OCR图片’/> GPU的架构 SIMD Exec Unit Cache SIMD Exec Unit Cache SIMD Exec Unit Cache SIMD Exec Unit Cache SIMD Exec0 码力 | 55 页 | 4.79 MB | 1 月前3
GPU Resource Management On JDOS## GPU Resource Management On JDOS 梁永清 liangyongqing1@jd.com ## 提供的服务 ## Experiment ## Training 1. 用于实验的 GPU 容器 2. 基于 Kubeflow 的机器学习训练服务 3. 模型管理和模型 Serving 服务 ## Serving 均基于容器,不对业务方直接提供 GPU 物理机 物理机 ## GPU 实验 JDOS 常规的容器服务, 使用 gpu 的 zone,自行设定相应的镜像即可, 有完善的周边服务 我的系统  三一键编译  public/tensor/now.1.4.1-ueve-gpu-vi  public/tensorflow:1.7.0-devel-gpu-py3-v1  FWF ## Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA ROCm, Vulkan, ... ☐ You can tell me about afterwards ## Why write programs for CPU and GPU ## ☐ Difference CPU/GPU Algorithms are designed differently ☐ Latency/Throughput ☐ Memory bandwidth ☐ Number Problem ☐ Why it makes sense? ☐ Scope of the talk ## Why write programs for CPU and GPU ## ☐ Difference CPU/GPU ☐ Why it makes sense? Library/Framework developers ☐ Embarrassingly parallel algorithms0 码力 | 124 页 | 4.10 MB | 1 年前3
人工智能发展史Issue: How to train MLP Chain Rules => Backpropagation  ## Backpropagation: First Spark - Derived in early 60's [1389.D4] [1635.52] [1897.128] ## Now theoretically solved:1989 Communicated by Dana Ballard # Backpropagation Applied to Handwritten Zip Code Recognition Y. LeCun B. Boser J. S. Denker D. Henderson discovery and genomics. Deep learning discovers intricate structure in large data sets by using the backpropagation algorithm to indicate how a machine should change its internal parameters that are used to compute0 码力 | 54 页 | 3.87 MB | 2 年前3
FFmpeg在Intel GPU上的硬件加速与优化## FFmpeg在Intel GPU上的硬件加速与优化 赵军 DCG/NPG @ Intel ## 介绍FFmpeg VAAPI • Media pipeline review • 何谓FFmpeg VAAPI • 为什么我们需要FFmpeg VAAPI • 当前状态 • 更进一步的计划 · 附录 ## 典型的 media pipeline SOURCE libavformat radeon, nouveau (?), freedreno, … • 废弃的 API bridges • vdpau—va bridge • powervr—va bridge ## I ntel GPU简介 ## • Gfx Label • Gen3: Pinetrail (Pineview) • Gen4: G965 • Gen5: G4X, Ironlake (Piketon, Calpella) OpenGL) ## I ntel GPU media 硬件编程模型 GPU  ## FFmpeg & Intel GPU加速方案 - FFmpeg 作为最流行的开源多媒体框架; 集成Intel的GPU的硬件加速能为用户带来更多收益0 码力 | 26 页 | 964.83 KB | 2 年前3
激活函数与GPU加速## PyTorch ## 激活函数与GPU加速 主讲人:龙良曲    ## GPU accelerated ## ☐ ☐ ☐ device = torch.device('cuda:0') net = MLP().to(device) optimizer =0 码力 | 11 页 | 452.22 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程## CUDA 开启的 GPU 编程 by 彭于斌 (@archibate) 往期录播:https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码:https://github.com/parallel101/course ## 前置条件 • 学过 C/C++ 语言编程。 - 理解 malloc/free 之类的概念。 • 熟悉 STL ## 编写一段在 GPU 上运行的代码 - 定义函数 kernel,前面加上 ___ global___ 修饰符,即可让他在 GPU 上执行。 - 不过调用 kernel 时,不能直接 kernel(),而是要用 kernel<<1, 1>>() 这样的三重尖括号语法。为什么?这里面的两个 1 有什么用?稍后会说明。 • 运行以后,就会在 GPU 上执行 printf kernel 函数在 GPU 上执行,称为核函数,用 ___ global___ 修饰的就是核函数。  ## 没有反应?同步一下! - 然而如果直接编译运行刚刚那段代码,是不会打印出Hello, world! 的。 这是因为 GPU 和 CPU 之间的通信,为了高效,是异步的。也就是0 码力 | 142 页 | 13.52 MB | 2 年前3
micrograd++: A 500 line C++ Machine Learning Librarylearning tasks that run on real life devices like embedded devices, phone, etc, do not have access to GPU. To bridge that gap, micrograd++ let's any user train a neural network in C++ and ship that to and neurons, enabling users to construct complex network architectures. - Backpropagation: The implementation of backpropagation in micrograd++ allows for efficient training of models through gradient descent with web assembly to make it work on the web on client side. - Optional GPU support: Make microgradpp compatible with modern GPU frameworks. - CI/CD Pipeline: Establishing a continuous integration and0 码力 | 3 页 | 1.73 MB | 1 年前3
Machine Learning Pytorch Tutorialto(‘cpu’) $$ • GPU $$ x=x.to(‘cuda’) $$ ## Tensors – Device (GPU)  - Check if your computer has NVIDIA GPU torch.cuda • Why use GPUs? Parallel computing with more cores for arithmetic calculations ☐ See What is a GPU and do you need one in deep learning? ## Tensors – Gradient Calculation (1) >> x = torch.tensor([[1 to device (cpu/cuda) forward pass (compute output) compute loss compute gradient (backpropagation) update model with optimizer ## Neural Network Validation Loop model.eval() total_loss0 码力 | 48 页 | 584.86 KB | 2 年前3
共 590 条
- 1
- 2
- 3
- 4
- 5
- 6
- 59













