Bridging the Gap: Writing Portable Programs for CPU and GPU1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory bandwidth Number of cores Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly parallel algorithms User0 码力 | 124 页 | 4.10 MB | 6 月前3
金融级云原生 PaaS 探索与实践机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer 异地多活架构 同城双活架构 K8S API Server 基础发布运维 跨集群应用 资源管理 IaaS层(Aliyun/OpenStack/VMWare/Bare Metal) PaaS 核心层 核 心 流 程 两地三中心架构 跨机房和地域统一应用运维 容器运行时 (Docker/Pouch/安全容器) Router/ENI) CSI Plugins (NAS/OSS/Cloud Disk/Ceph) 网络接入 (SLB/ALB) 容 器 层 跨集群管理 单元化能力 容器镜像管理 批次发布 原生资源管理 Pod伸缩管理 集群伸缩管理 变更管控 配额管理 运维原子操作 精细化调度 接入层流程调拨 应用层流量调拨 跨集群状态 分发/汇聚 数据层流量调拨 压测/灰度 流量管理 单元化 元数据管理0 码力 | 20 页 | 1.71 MB | 6 月前3
22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊loud等微服务框架的方式承载微服务应用。但在一个虚机/服务器上 部署多个微服务会产生如下问题—— • 资源预分配,短时间内难以扩展 • 缺乏隔离性,服务相互抢占资源 • 增加环境、网络(端口)和资源管理的复杂性,治理成本高 • 监控粒度难以满足微服务应用运维的需要,线上问题难以排查定位,往往需要研发介入 我们需要一种新型的、为云而生的业务承载平台,去应对上述问题。 微服务应 用 大型 单体 应用 以上。 总体趋势分析 在多种新旧应用承 载诉求推动下,催 熟云计算架构的全 栈化和软硬一体化 带来更敏捷的体验 容器多样化 应用规模的剧增,成 本诉求越来越成为主 体,基于AI的自动化 将精益化资源管理, 带来更好的成本控制 高度自动化 应用上云,安全问题 凸现,在云原生新架 构下,需要打造端到 端的容器安全网 零信任 企业数字化转型急需高度自动化 的、面向应用的极简云体验 边缘计算场景正在极速拓展云0 码力 | 42 页 | 11.17 MB | 6 月前3
27-云原生赋能 AIoT 和边缘计算、云形态以及成熟度模型之道-高磊企业应该结合自 己的组织、业务、 市场特点来规划 实施云原生。 攘外必先安内 项目 说明 全托管K8S 全托管K8S服务带来了发布和扩容效率的提升、更稳定的容器运行时、节点自愈能力,结合发 布自动化、资源管理自动化等能力可以实现应用与基础设施层的全面解耦 统一化ServiceMesh 将应用的分布式复杂性问题托付给Mesh层的数据面和控制面组件,实现全链路精准流量控制、 资源动态隔离以及零信任的安全能力,保证应用架构的稳定性目标的实现。0 码力 | 20 页 | 5.17 MB | 6 月前3
24-云原生中间件之道-高磊应用改造成本高:将运行在Hadoop平台的大数据应用迁移到云原生平台,一方面需要大数据团队将业务应用进行 容器化改造,如系统任务的启动方式、基础设施的适配(环境变量、配置文件获取方式的变更等),这些都需要 大数据团队来做适配,在资源管理的方式,则从适配Yarn修改为适配Kubernetes,总体改造成本比较高;另一方面, 需要在大数据应用的资源申请层面进行改造,使其具备直接向Kubernetes集群申请资源的特性,也称为Native0 码力 | 22 页 | 4.39 MB | 6 月前3
POCOAS in C++: A Portable Abstraction for Distributed Data StructuresCPU vFast GPU vvFast PCI Bus (or other fabric)GPUs as a First-Class Computing Resource CPU GPU PCI Bus (or other fabric) NIC - Historically, network comm. was CPU-centric 1) Direct GPU access to Infiniband allows GPU-to-GPU network transfers 2) Fast in-node fabrics like NVLink, Infinity Fabric allow very fast intra-node transfers DataGPUs as a First-Class Computing Resource CPU GPU PCI Bus (or fabric) NIC Data - Historically, network comm. was CPU-centric 1) Direct GPU access to Infiniband allows GPU-to-GPU network transfers 2) Fast in-node fabrics like NVLink, Infinity Fabric allow0 码力 | 128 页 | 2.03 MB | 6 月前3
Taro: Task graph-based Asynchronous Programming Using C++ CoroutineB" : GPU operation 9Existing TGPSs on Heterogenous Computing - Challenge A C D B! B" 5 task_b = sched.emplace([](&){ 6 // CPU code; // GPU code; 7 }); // CPU thread blocks until GPU finishes B" : GPU operation 10Existing TGPSs on Heterogenous Computing - Challenge A C D B! B" 5 task_b = sched.emplace([](&){ 6 // CPU code; // GPU code; 7 }); // CPU thread blocks until GPU finishes operation B" : GPU operation Atomic execution per task 11Existing TGPSs on Heterogenous Computing - Challenge CPU A B! C Idle GPU D B" Runtime A C D B! B" Assume one CPU and one GPU B! : CPU operation0 码力 | 84 页 | 8.82 MB | 6 月前3
Heterogeneous Modern C++ with SYCL 2020http://wongmichael.com/about ● C++11 book in Chinese: https://www.amazon.cn/dp/B00ETOV2OQ We build GPU compilers for some of the most powerful supercomputers in the world 34 Nevin “:-)” Liber nliber@anl Attribution 4.0 International License SYCL Single Source C++ Parallel Programming GPU FPGA DSP Custom Hardware GPU CPU CPU CPU Standard C++ Application Code C++ Libraries ML Frameworks give better performance on complex apps and libs than hand-coding AI/Tensor HW GPU FPGA DSP Custom Hardware GPU CPU CPU CPU AI/Tensor HW Other BackendsSYCL 2020 is here! Open Standard for0 码力 | 114 页 | 7.94 MB | 6 月前3
Bringing Existing Code to CUDA Using constexpr and std::pmrcudaFree(x); cudaFree(y); } An Even Easier Introduction to CUDA 5 |__global__ void add_gpu(int n, float* x, float* y) { for (int i = 0; i < n; i++) y[i] = x[i] + y[i]; } TEST_CASE("cppcon-1" TEST_CASE("cppcon-1", "[CUDA]") { // … } An Even Easier Introduction to CUDA 6 |__global__ void add_gpu(int n, float* x, float* y) { for (int i = 0; i < n; i++) y[i] = x[i] + y[i]; } TEST_CASE("cppcon-1" 20; float* x; float* y; // … add_gpu<<<1, 1>>>(N, x, y); // … } An Even Easier Introduction to CUDA 7 |__global__ void add_gpu(int n, float* x, float* y) { for (int i = 0;0 码力 | 51 页 | 3.68 MB | 6 月前3
2024 中国开源开发者报告MiniMax 等。 其次是由 TogetherAI、Groq、Fireworks、Replicate、硅基流动等组成的 GPU 推理集群 服务提供商,它们处理扩展与缩减等技术难题,并在基本计算费用基础上收取额外费用,从 而让应用公司无需承担构建和管理 GPU 推理集群的高昂成本,而是可以直接利用抽象化的 AI 基础设施服务。 第三类是传统的云计算平台,例如亚马逊的 Amazon Vertex AI 等,允许应用开发者轻松部署和使用标准化或定制化的 AI 模型, 并通过 API 接口调用这些模型。 最后一类是本地推理,SGLang、vLLM、TensorRT-LLM 在生产级 GPU 服务负载中表现 出色,受到许多有本地托管模型需求的应用开发者的欢迎,此外,Ollama 和 LM Studio 也 是在个人计算机上运行模型的优选方案。 62 / 111 除模型层面外,应 软件,例如:微控制处理器(MCU)会运行实时操作系统或者直接运行某个特定程序;中央处 理器(CPU)往往会运行 Windows、Linux 等复杂操作系统作为底座支撑整个软件栈;图形 处理器(GPU)一般不加载操作系统而是直接运行图形图像处理程序,神经网络处理器 (NPU)则直接运行深度学习相关程序。 处理器芯片设计是一项很复杂的任务,整个过程犹如一座冰山。冰山水面上是用户或者大 众看到0 码力 | 111 页 | 11.44 MB | 8 月前3
共 121 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
相关搜索词
BridgingtheGapWritingPortableProgramsforCPUandGPU金融级云原生PaaS探索实践22缘起底座以及ServiceMesh高磊27赋能AIoT边缘计算形态成熟成熟度模型之道24中间中间件POCOASinC++AbstractionDistributedDataStructuresTaroTaskgraphbasedAsynchronousProgrammingUsingCoroutineHeterogeneousModernwithSYCL2020BringingExistingCodetoCUDAconstexprstdpmr2024中国开源开发开发者报告













