当前位置: 首页 > news >正文

东莞公司品牌网站建设网站怎么找

东莞公司品牌网站建设,网站怎么找,阿里云搭建多个网站,wordpress列表系统插件前言 本文是对jupyterlab中oneAPI_Essentials/01_oneAPI_Intro文档的学习记录#xff0c;包含对SYCL、DPC extends SYCL、oneAPI Programming models等介绍和SYCL代码的初步演示等内容 oneAPI编程模型综述 oneAPI编程模型提供了一个全面而统一的开发人员工具组合#xff0…前言 本文是对jupyterlab中oneAPI_Essentials/01_oneAPI_Intro文档的学习记录包含对SYCL、DPC extends SYCL、oneAPI Programming models等介绍和SYCL代码的初步演示等内容 oneAPI编程模型综述 oneAPI编程模型提供了一个全面而统一的开发人员工具组合可以跨硬件目标使用包括一系列跨越多个工作负载域的性能库这些库包括针对每个目标体系结构定制编码的函数因此相同的函数调用可以在支持的体系结构中提供优化性能 多体系结构编程挑战 目前在以数据为中心的领域专用工作负载正在增长。每种以数据为中心的硬件通常需要使用不同的语言和库进行编程因为没有通用的编程语言或 API这需要维护单独的代码库。开发人员必须学习一整套不同的工具因为跨平台的工具支持不一致。为每个硬件平台开发软件需要单独的投资并且几乎无法重用该工作以针对不同的体系结构。 oneAPI的引入 oneAPI作为一种统一编程模型包括表达并行性的统一和简化的语言和库它有着很好的开放性可以与现有的HPC编程模型相互操作 一个简单的例子 %%writefile lab/simple.cpp // // Copyright © Intel Corporation // // SPDX-License-Identifier: MIT // #include sycl/sycl.hpp using namespace sycl; static const int N 16; int main(){//# define queue which has default device associated for offloadqueue q;std::cout Device: q.get_device().get_infoinfo::device::name() \n;//# Unified Shared Memory Allocation enables data access on host and deviceint *data malloc_sharedint(N, q);//# Initializationfor(int i0; iN; i) data[i] i;//# Offload parallel computation to deviceq.parallel_for(range1(N), [] (id1 i){data[i] * 2;}).wait();//# Print Outputfor(int i0; iN; i) std::cout data[i] \n;free(data, q);return 0; } 这是一个简单的SYCL编程例子第一行%%writefile lab/simple.cpp的作用是当将这个代码在jupyter lab中的一个cell中点运行时将会把除了这一行的代码之外的所有代码保存在jupyterlab的/lab相对路径的位置的simple.cpp文件当中 也就是说运行这个之后只会把代码保存在一个文件中 之后在下一个cell中运行这段代码才是对上面的代码的真正运行 ! chmod 755 q; chmod 755 run_simple.sh;if [ -x $(command -v qsub) ]; then ./q run_simple.sh; else ./run_simple.sh; fi 运行结果 SYCL sycl代表了一项行业标准化工作包括对c数据并行编程的支持被概括为“面向opencl的c单源异构编程”。sycl是一个基于opencl的跨平台的抽象层它使异构处理器的代码能够使用c以“单一源”风格编写使编译器能够分析和优化整个程序而不管代码要在哪个设备上运行 与opencl不同sycl包含模板和lambda函数使高级应用程序软件能够清晰地编码并优化内核代码的加速。 数据并行cdpc是一个api实现的sycl编译器。利用了现代c的生产力优势和熟悉的结构并结合了数据并行性和异构编程的sycl标准 sycl是一种单源语言其中主机代码和异构加速器内核可以混合在同一源文件中。程序员可以使用熟悉的c和代用附加功能的库结构如用于工作定位的队列用于数据管理的缓冲区以及用于并行性的parallel_for来指示应该卸载哪部分的计算和数据 oneAPI编程模型 ·平台模型 oneAPI的平台模型基于SYCL平台模型指定一个主机控制一个或多个设备。主机是计算机通常是基于cpu的系统执行程序主要部分 每个设备是一个加速器一个包含计算资源的专用组件它可以快速执行操作的子集通常比cpu更快。每个设备包含一个或多个计算单元每个计算单元包含一个或处理单元处理单元是单独的计算引擎 ·执行模型 执行模型基于SYCL执行模型它定义并指定代码称为内核如何在设备上执行并于控制主机交互主机执行模型通过命令组在主机和设备之间协调执行和数据管理。命令组是像内核调用和访问器这样的命令的分组被提交到队列中执行 执行模型指定了如何在访问器上完成计算从小的一维数据到大的多维数据集的计算分布在nd范围、工作组、子组的层次结构中都是在工作提交到命令队列时指定的 需要注意的是实际的内核代码代表一个工作项执行的工作内核之外的代码控制的是执行多少并行性工作的数量和分配时由nd范围和工作组的规格来控制 下图描述nd范围、工作组、子组和工作项之间的关系总工作量是由工作组大小指定该实例显示了x*y*z的nd范围大小x’*y’*z’的工作组大小和x’的子组大小。因此有(x*y*z)/(x’*y’*z’)大小的工作组和(x*y*z)/x’大小的子组 ·存储模型 基于SYCl*内存模式它定义了主机和设备如何与内存交互它协调主机和设备之间的内存分配和管理。内存模型是一种抽象其目的是概括和适应不同的主机和设备配置。 在这个模型中内存驻留在主机或设备上由主机或设备拥有并通过声明一个内存对象来指定。有两种不同类型的内存对象缓冲器和镜像。这些内存对象再主机和设备之间的交互通过访问器accessor完成访问器传达了期望的访问设置例如主机和设备以及特定的访问模式例如读和写 考虑这样一种情况内存通过传统的malloc调用在主机上分配一旦在主机上分配了内存就会创建一个缓冲区对象它使主机分配的内存能够和设备通信缓冲区类将该类型的项的类型和数量通信给设备进行计算一旦主机上创建了缓冲区设备上运行的访问类型就通过访问器accessor对象进行通信。 内核编程模型 支持主机和设备之间的显示并行性这种并行性之所以显式是因为程序员决定哪些代码在主机和设备上执行它不是自动的内核代码在加速器上执行。 采用oneAPI编程模型的程序支持单一源这意味着主机代码和设备代码可以在同一个源文件中但是在语言一致性和语言特性方面主机代码和设备代码中接受的源代码存在差异
http://www.pierceye.com/news/405228/

相关文章:

  • 响应式网站建设信息网站建设宽带
  • ps如何做网站超级链接微信公众平台运营中心电话
  • 网站建设怎么估算费用和报价h5特效网站欣赏
  • 东软集团建设网站娱乐网站排行榜
  • 石家庄网站建站米拓建站官网怎么用不了
  • 推广seo网站的公司金华网站建设公司排名
  • 阿里巴巴网站工作流程网站建设 教学设计
  • 电子商务网站建设的方法怎样用织梦做音乐网站
  • 临夏州住房和城乡建设局网站出词
  • 企业网站的综合要求最新领导班子7人名单
  • 通过阿里云建设企业网站联想企业网站建设的思路
  • 网站建设服务器的选择方案建设报名系统是正规网站吗
  • 揭阳高端模板建站WordPress背景音乐6
  • 如何使用云服务建设网站cpa之家 app推广平台
  • 网站设计策划书案例漳浦建设局网站
  • ps做分享类网站效果图设计公司工作室创业规划
  • 个人虚拟机做网站设计实例网站
  • 衡阳企业网站wordpress置顶文章顺序
  • 网站建设宗旨是指郑州有名的做网页的公司
  • 怎么0成本做网站企业网站如何设计网页
  • 做韦恩图网站课程分销平台
  • html5网站建设中企业整站推广
  • 织梦网站打开速度慢做抢单软件的网站
  • 51单片机可以做网站怎么建设游戏试玩平台网站
  • 汕头网站建设方案维护wordpress百度熊掌
  • 牛街网站建设产品vi设计都包括什么
  • 网站需要多大宽带网站发展的方向
  • 陈光锋网站运营推广新动向故城建设银行网站
  • 备案后网站可以改名吗临颖网站建设
  • 临沭县建设局官方网站怎样做外贸网站推广