积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(444)云计算&大数据(172)Python(166)综合其他(150)数据库(116)系统运维(101)Weblate(90)PyWebIO(67)OpenShift(64)Go(49)

语言

全部中文(简体)(914)英语(81)中文(简体)(13)西班牙语(2)zh(2)法语(1)

格式

全部PDF文档 PDF(812)其他文档 其他(179)PPT文档 PPT(31)DOC文档 DOC(5)
 
本次搜索耗时 0.019 秒,为您找到相关结果约 1000 个.
  • 全部
  • 后端开发
  • 云计算&大数据
  • Python
  • 综合其他
  • 数据库
  • 系统运维
  • Weblate
  • PyWebIO
  • OpenShift
  • Go
  • 全部
  • 中文(简体)
  • 英语
  • 中文(简体)
  • 西班牙语
  • zh
  • 法语
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • PPT文档 PPT
  • DOC文档 DOC
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 通过SSA的解释执行窥探Golang编译之一角

    通过SSA的解释执行窥探Golang编译之一角 丁尔男 武汉航天远景 产品总监 凹语言 联合发起人 PLOC 联合发起人 目 录 Golang 编译流程简介 01 SSA 解释执行 02 基于 SSA 的应用 03 Golang 编译流程简介 源代码 抽象语法树 抽象语法树 (带语义信息) 静态单赋值 目标代码 Golang 编译流程简介 源代码 抽象语法树 抽象语法树 Rosen、Mark N. Wegman、F. Kenneth Zadeck 提出的一种中间代码(IR) 表示形式,典型特征是所有变量被且仅被赋值一次。 2016年,Go 1.7 加入 SSA 支持。 SSA 解释执行 02-HelloSSA const src = ` package main func main() { println("Hello, GoCN!") println("The answer *ssa.Call - Call = *ssa.Builtin, println - Args = [“The answer is”, 42] Instrs[2] *ssa.Return SSA 解释执行 02-HelloSSA *ssa.Package main *ssa.Function Blocks[0] *ssa.BasicBlock Instrs[0] *ssa.Call - Call
    0 码力 | 30 页 | 1.50 MB | 1 年前
    3
  • pdf文档 Rust并行编译的挑战与突破

    Rust并行编译的挑战与突破 李原 2022年5月28日 • 相关浅谈 • Rust并行编译的挑战与突破 • 从并行编译到并行程序设计 • Rust社区与并行编译 目录 相关浅谈 Rust编译速度之殇 编译器设计造成编译速度缓慢 · 单态化 · 借用检查 · 宏展开 · MIR优化 ... Rust规模编译速度慢于C++ Rust编译速度之殇 提升编译效率成为近年社区重点工作 提升编译效率成为近年社区重点工作 并行编译或成下一代编译效率突破利器 2017-2021,Rust编译速度已提升一倍以上 Rust社区编译器性能工作组 Rust编译器并行化 Cargo多crate并行 二进制生成并行 更多更好的并行化? Rust编译器架构 语法树生成 宏展开 命名解析 泛型解析 类型检查 借用检查 单态化 二进制生成 增量编译系统 底层数据 结构 Rust语言编译器结构总览 考虑内部编译流程并行化 考虑内部编译流程并行化 Rust并行并发 编译时线程安全检查 一些常见线程安全数据结构 常用Rust并行并发库 Rust并行并发 增加程序复杂度 线程安全数据结构造成效率损失 Mutex与RwLock rustc profileing 数据 · 代码复杂度及健壮性 · benchmark资源限制 · profileing成本 ... 收益 > 代价? Rust并行编译的挑战与突破
    0 码力 | 25 页 | 4.60 MB | 1 年前
    3
  • pdf文档 通过Oracle 并行处理集成 Hadoop 数据

    白皮书 2011 年 1 月 通过 Oracle 并行处理集成 Hadoop 数据 1 Oracle 白皮书 — 通过 Oracle 并行处理集成 Hadoop 数据 引言 作为示例,但这里的策略同样适用于其他分 布式存储机制。本文中介绍了各种访问方法,还通过一个具体示例说明了其中一 种访问方法的实现。 2 Oracle 白皮书 — 通过 Oracle 并行处理集成 Hadoop 数据 外部 Hadoop 数据的访问方法 要从 Oracle 数据库里访问某个文件系统中 在图 1 中,我们利用 Oracle Database 11g 实现本文所述的数据库内的 mapreduce。通常情况 下,Oracle Database 11g 中的并行执行框架足以满足针对外部表大多数的并行操作。 在有些情况下(例如,如果 FUSE 不可用),外部表方法可能不适用。Oracle 表函数提供了 从 Hadoop 中获取数据的替代方法。本文附带的示例展示了一种这样的方法。更深入地来
    0 码力 | 21 页 | 1.03 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    TBB 开启的并行编程之旅 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 高性能并行编程与优化 - 课程大纲 • 分为前半段和后半段,前半段主要介绍现代 C++ ,后半段主要介绍并行编程与优化。 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战: reduce , scan ,矩阵乘法等 10.存储大规模三维数据的关键:稀疏数据结构 位时代过去了) 至少 2 核 4 线程(并行课…) 英伟达家显卡( GPU 专题) 软件要求: Visual Studio 2019 ( Windows 用户) GCC 9 及以上( Linux 用户) CMake 3.12 及以上(跨平台作业) Git 2.x (作业上传到 GitHub ) CUDA Toolkit 10.0 以上( GPU 专题) 第 0 章:从并发到并行 摩尔定律:停止增长了吗?
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • pdf文档 在 JavaScript 中的并行语言特性-周爱民

    在JavaScript中的 并行语言特性 周爱民 @aimingoo https://github.io/aimingoo 上海南潮信息科技有限公司/ruff.io R/W {range} {range} {range} R W Lock Unlock 声明一个变量/标识 符,使之在确定的上 下文中占有存储位 置。 有变量 1 使存储位置中有值。 绑定值 3 Reactions2 p = Promise.resolve(x) p2 = p.then(f) JS 类 对象 构造器 ⾯面向对象的 动态的 名字空间 结构化异常 语句 结构化的 动态类型 动态执行 动态作用域 多语言范型 函数式的 生成器 迭代器 函数是第一类的 可运行/求值的 for await..of .catch .finally promise.then() Promise()
    0 码力 | 41 页 | 8.61 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器

    K-V 对的一份深拷贝。你写入的只是这份拷贝 后的 V ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 未初 始化 v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } • 我们现在遍历一个 map ,然后把他里面所有的 V 都设为 v2 ,要怎么做? K-V 对的一份深拷贝。你写入的只是这份拷贝 后的 V ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 k v v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } • 我们现在遍历一个 map ,然后把他里面所有的 V 都设为 v2 ,要怎么做? • K-V 对的一份深拷贝。你写入的只是这份拷贝 后的 V ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 k v2 v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } 你修改的是栈空间 ( 周树人 ) 管我堆空间 ( 鲁迅 ) 什么事? • 我们现在遍历一个
    0 码力 | 90 页 | 8.76 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    需要先创建 build 目录 • 切换到 build 目录 • 在 build 目录运行 cmake < 源码目录 > 生成 Makefile • 执行本地的构建系统 make 真正开始构建( 4 进程并 行) • 让本地的构建系统执行安装步骤 • 回到源码目录 现代 CMake 提供了更方便的 -B 和 --build 指令,不同平台,统一命 令! • cmake -B build build/Makefile // 自动调用本地的构建系统在 build 里构建,即: make -C build -j4 // 调用本地的构建系统执行 install 这个目标,即安 装 -D 选项:指定配置变量(又称缓存变量) • 可见 CMake 项目的构建分为两步: • 第一步是 cmake -B build ,称为配置阶段( configure Windows 上只允许用 MSBuild 构建,不能 用 Ninja (怕不是和 Bill Gates 有什么交 易) 第 1 章:添加源文件 一个 .cpp 源文件用于测试 CMake 中添加一个可执行文件作为构建目标 另一种方式:先创建目标,稍后再添加源文件 如果有多个源文件呢? 逐个添加即可 使用变量来存储 建议把头文件也加上,这样在 VS 里可以出现在“ Header Files”
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • pdf文档 并行不悖- OLAP 在互联网公司的实践与思考

    1 并行不悖 – OLAP 在互联网公司的实践与思考 赵飞祥 2 Greenplum现状说明 三 Greenplum体系架构 二 数据仓库体系架构 一 Greenplum开发规范 五 Greenplum运维体系 四 Greenplum扩展规划 六 3 数据仓库体系架构 业务数据与数据使用归类 时间维度:过去 - 现在 - 未来 (数据的生命周期) • “现在”的数据 —— 10 greenplum体系架构 postgresql体系结构 11 greenplum体系架构 postgresql体系结构 • pg结构组成 Ø 连接关系系统 Ø 编译执行系统 Ø 存储执行系统 Ø 事务系统 Ø 系统表 • pg逻辑和物理结构 Ø instance实例 - user - tablesapce Ø database - schema - table,view greenplum体系架构 greenplum的体系结构 14 greenplum体系架构 greenplum的体系结构 • greenplum的架构特点 Ø MPP ShareNothing 海量并行处理+完全无共享 Ø cpu计算能力 Ø 数据从Disk上的I/O吞吐性能 Ø master管理节点 Ø segment数据节点 • greenplum的核心功能 Ø 无共享MPP Ø 多态存储
    0 码力 | 43 页 | 9.66 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    __global__ 修 饰符,即可让他在 GPU 上执行。 • 不过调用 kernel 时,不能直接 kernel() ,而 是要用 kernel<<<1, 1>>>() 这样的三重尖括 号语法。为什么?这里面的两个 1 有什么用 ?稍后会说明。 • 运行以后,就会在 GPU 上执行 printf 了。 • 这里的 kernel 函数在 GPU 上执行,称为核 函数,用 __global__ 修饰的就是核函数。 后,并不 会立即在 GPU 上执行完毕,再返回。实际上只是把 kernel 这个任务推送到 GPU 的执行队列上,然后立即 返回,并不会等待执行完毕。 • 因此可以调用 cudaDeviceSynchronize() ,让 CPU 陷 入等待,等 GPU 完成队列的所有任务后再返回。从而 能够在 main 退出前等到 kernel 在 GPU 上执行完。 定义在 GPU 上的设备函数 上的设备函数 • __global__ 用于定义核函数,他在 GPU 上执行,从 CPU 端通过三重尖括号语法调 用,可以有参数,不可以有返回值。 • 而 __device__ 则用于定义设备函数,他在 GPU 上执行,但是从 GPU 上调用的,而 且不需要三重尖括号,和普通函数用起来一 样,可以有参数,有返回值。 • 即: host 可以调用 global ; global 可以调 用
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化

    memory-bound • 通常来说,并行只能加速计算的部分,不能加速内存读写的部分 。 • 因此,对 fill 这种没有任何计算量,纯粹只有访存的循环体,并 行没有加速效果。称为内存瓶颈( memory-bound )。 • 而 sine 这种内部需要泰勒展开来计算,每次迭代计算量很大的 循环体,并行才有较好的加速效果。称为计算瓶颈( cpu- bound )。 • 并行能减轻计算瓶颈,但不减轻内存瓶颈,故后者是优化的重点 并行能减轻计算瓶颈,但不减轻内存瓶颈,故后者是优化的重点 。 浮点加法的计算量 • 冷知识:并行地给浮点数组每个元素做一次加法反而更慢。 • 因为一次浮点加法的计算量和访存的超高延迟相比实在太少了。 • 计算太简单,数据量又大,并行只带来了多线程调度的额外开销 。 • 小彭老师经验公式: 1 次浮点读写 ≈ 8 次浮点加法 • 如果矢量化成功( SSE ): 1 次浮点读写 ≈ 32 次浮点加法 • 如果 CPU 符合小彭老师的经验公式。 • “right” 和“ wrong” 指的是分支预测是否成功。 多少计算量才算多? • 看右边的 func ,够复杂了吧?也只是勉勉强强超过一 点内存的延迟了,但在 6 个物理核心上并行加速后, 还是变成 mem-bound 了。 • 加速比: 1.36 倍 • 应该达到 6 倍(物理核心数量)才算理想加速比。 加速曲线 • funcA 用了 2 核就饱和。 • funcB
    0 码力 | 147 页 | 18.88 MB | 1 年前
    3
共 1000 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 100
前往
页
相关搜索词
通过SSA解释执行窥探Golang编译之一Rust并行挑战突破Oracle处理并行处理集成Hadoop数据C++高性性能高性能编程优化课件06JavaScript语言特性爱民1711并行不悖OLAP互联联网互联网公司实践思考0807
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩