积分充值
 首页
前端开发
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文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(20)C++(14)Rust(6)系统运维(2)DevOps(2)

语言

全部中文(简体)(22)

格式

全部PPT文档 PPT(22)
 
本次搜索耗时 0.018 秒,为您找到相关结果约 22 个.
  • 全部
  • 后端开发
  • C++
  • Rust
  • 系统运维
  • DevOps
  • 全部
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 基于Rust-vmm实现Kubernetes运行时

    0 码力 | 27 页 | 34.17 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    • cmake .. • make -j4 • sudo make install • cd .. • 需要先创建 build 目录 • 切换到 build 目录 • 在 build 目录运行 cmake < 源码目录 > 生成 Makefile • 执行本地的构建系统 make 真正开始构建( 4 进程并 行) • 让本地的构建系统执行安装步骤 • 回到源码目录 现代 CMake CMAKE_BUILD_TYPE 为空字符串,这时相当于 Debug 。 各种构建模式在编译器选项上的区别 • 在 Release 模式下,追求的是程序的最佳性能表现,在此情况下,编译器会对程序做最大 的代码优化以达到最快运行速度。另一方面,由于代码优化后不与源代码一致,此模式下 一般会丢失大量的调试信息。 1. Debug: `-O0 -g` 2. Release: `-O3 -DNDEBUG` 3. MinSizeRel: 如果用户在老版本上使用,就会出现各种奇怪的错误。 因此最好在第一行加个 cmake_minimum_required(VERSION 3.15) 表示本 CMakeLists.txt 至少需要 CMake 版本 3.15 以上才能运行。 如果用户的 CMake 版本小于 3.15 ,会出现“ CMake 版本不足”的提示。 假设我现在构建一个需要版本 3.99 的 CMake 项目 会正常报错提示版本过低,而不是等到某处用到
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    CPU 实际上提供了 6GHz 的处理能力,是吗? • 显然不是。甚至在两个处理器上同时运行两个线程也不见得可以获得两倍的性能。相似的 ,大多数多线程的应用不会比双核处理器的两倍快。他们应该比单核处理器运行的快,但 是性能毕竟不是线性增长。 • 为什么无法做到呢?首先,为了保证缓存一致性以及其他握手协议需要运行时间开销。在 今天,双核或者四核机器在多线程应用方面,其性能不见得的是单核机器的两倍或者四倍。 运用多线程的方式和动机,一般分为两种。 • 并发:单核处理器,操作系统通过时间片调 度算法,轮换着执行着不同的线程,看起来 就好像是同时运行一样,其实每一时刻只有 一个线程在运行。目的:异步地处理多个不 同的任务,避免同步造成的阻塞。 • 并行:多核处理器,每个处理器执行一个线 程,真正的同时运行。目的:将一个任务分 派到多个核上,从而更快完成任务。 举个例子 • 并发:某互联网公司购置了一台单核处理 器的服务器,他正同时处理 互。并在主线程中等待该任务组里的任务 全部执行完毕。 • 区别在于,一个任务不一定对应一个线程 ,如果任务数量超过 CPU 最大的线程数, 会由 TBB 在用户层负责调度任务运行在 多个预先分配好的线程,而不是由操作系 统负责调度线程运行在多个物理核心。 封装好了: parallel_invoke 更好的例子 第 1 章:并行循环 时间复杂度( time-efficiency )与工作量复杂度(
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    OpenCL 做不到的。 编写一段在 GPU 上运行的代码 • 定义函数 kernel ,前面加上 __global__ 修 饰符,即可让他在 GPU 上执行。 • 不过调用 kernel 时,不能直接 kernel() ,而 是要用 kernel<<<1, 1>>>() 这样的三重尖括 号语法。为什么?这里面的两个 1 有什么用 ?稍后会说明。 • 运行以后,就会在 GPU 上执行 printf printf 了。 • 这里的 kernel 函数在 GPU 上执行,称为核 函数,用 __global__ 修饰的就是核函数。 没有反应?同步一下! • 然而如果直接编译运行刚刚那段代码,是不会打印出 Hello, world! 的。 • 这是因为 GPU 和 CPU 之间的通信,为了高效,是异 步的。也就是 CPU 调用 kernel<<<1, 1>>>() 后,并不 会立即在 GPU 的 RTX2080 也可以运行版本号为 52 的指令码,虽然 不够优化,但是至少能用。也就是要求:编译期指定的 版本 ≤ 运行时显卡的版本。 CMAKE_CUDA_ARCHITECTURES 会自动转换成 --gpu-code 等编 译 flag 版本号不要太新了 • 比如这里设置了 RTX3000 系列的架构版 本号 86 ,在 RTX2080 上就运行不出结 果。 • 最坑的是他不会报错!也不输出任何东西
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程

    template 传入的 N ,是一个编译期常量,每个不同的 N ,编译器都会单独生成一份代码,从而可以对他做单独的优化 。 • 而 func(int N) ,则变成运行期常量,编译器无法自动优化,只 能运行时根据被调用参数 N 的不同。 • 比如 show_times<0>() 编译器就可以自动优化为一个空函数。 因此模板元编程对高性能编程很重要。 • 通常来说,模板的内部实现需要被暴露出来,除非使用特殊的手 模板的应用:编译期优化案例 • 在右边这个案例中,我们声明了一个 sumto 函数,作用是求出从 1 到 n 所有 数字的和。 • 用一个 debug 参数控制是否输出调试信 息。 • 但是这样 debug 是运行时判断,这样即 使是 debug 为 false 也会浪费 CPU 时 间。 模板的应用:编译期优化案例(续) • 因此可以把 debug 改成模板参数,这样 就是编译期常量。编译器会生成两份函数 (下一讲会深入分析编译器的工作原理) 模板的难题:编译期常量的限制 • 编译期常量的限制就在于他不能通过运行时变量组成的表达式来指定。比如: • 这里在 if constexpr 的表达式里用到了运行时变量,从而无法作为编译期分支的条件。 模板的难题:编译期常量的限制(续) • 除了 if constexpr 的表达式不能用运行时变量,模板尖括号内的参数也不能: • 可以在 bool debug 变量的定义前面加上
    0 码力 | 82 页 | 12.15 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化

    的地址不一定对齐到 16 字 节 movaps : move aligned packed single SIMD 指令:敢不敢再宽一点? 为什么编译器没有用 256 位的 ymm0 ? 因为他不敢保证运行这个程序的电脑支持 AVX 指令集…… 两个 int32 可以合并为一个 int64 四个 int32 可以合并为一个 __m128 八个 int32 可以合并为一个 __m256 让编译器自动检测当前硬件支持的指令集 让编译器自动检测当前硬件支持的指令集 -march=native 让编译器自动判断当前硬件支 持的指令。老师的电脑支持 AVX 指令集,所 以他用了。不过注意这样编译出的程序,可能 放到别人不支持 AVX 的电脑上没法运行。 数组清零:自动调用标准库的 memset memcpy 同理,不必为了高效,手动改 写成对 memcpy/memset 的调用,影响 可读性。编译器会自动分析你是在做拷贝 或是清零,并优化成对标准库这俩的调用 的,一份是传统标量的 他在运行时检测 a, b 指针的差是否超过 1024 来判断是否有重叠现 象。 1. 如果没有重叠,则跳转到 SIMD 版本高效运行。 2. 如果重叠,则跳转到标量版本低效运行,但至少不会错。 SIMD 版 标量版 循环中的矢量化:解决指针别名 所以,让我们加上 __restrict 关键字,打消编译器的顾虑! 这下只需要生成一个 SIMD 版本了,没有了运行时判断重叠的焦虑。
    0 码力 | 108 页 | 9.47 MB | 1 年前
    3
  • ppt文档 Zadig 面向开发者的云原生 DevOps 平台

    部署生产环境 xN 部署 / 灰度上线 xN 监控 / 告警 xN 版本归档 xN 交付追踪 xN 数据度量 xN 服务、工单管理 事件、缺陷管理 想 法 用 户 运行阶段 需求阶段 研发阶段 现代软件交付挑战:开发 5 分钟,上线 2 小时 服务一:设计 | 代码编写 | 构建 | 测试 | 部署 | 发布 方案特点分析 Zadig 方案优势 传统 Jenkins 方案 GitLab + Jenkins + 脚本化 运行效率低,管理维护成本高 方案局限性大,安全性风险高 无法支持敏捷交付模式;手工维护成本 高,阻碍业务交付效率 面向多服务并行部署,安全发布, 0 维护负担 支撑云原生构建 / 运行环境,多云异构支持及企业 级登录权限支持 传统运维管理类平台 蓝鲸 Rainbond KubeSphere 产研工程师 Vs. 2 人运维 • 50 + 个 Kubernetes 全球集群 • 300+ 个数字产品(资产沉淀) • 1600+ 条自动化工作流(全域) • 900+ 个服务化运行环境 通过整合业务、产品、研发、运维等角色端到端的协作过程,打造出提升研发效能的一站式研发协作平台。 价值亮点: • 人均需求交付数提升 50% 以上 ( 需求均衡 / 人员不变 ) •
    0 码力 | 59 页 | 81.43 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    pthread 的。 • 解决: CMakeLists.txt 里链接 Threads::Threads 即可: 有了多线程:异步处理请求 • 有了多线程的话,文件下载和用户交互分 别在两个线程,同时独立运行。从而下载 过程中也可以响应用户请求,提升了体验 。 • 可是发现一个问题:我输入完 pyb 以后, 他的确及时地和我交互了。但是用户交互 所在的主线程退出后,文件下载所在的子 线程,因为从属于这个主线程,也被迫退 。 • 反面教材: blender 在运行物理解算的时候,界面会卡住,算完一帧后窗口才能刷新一遍 ,导致解算过程中基本别想做事,这一定程度上归功于 opengl 原始的单线程设计。 • 正面教材: zeno 可以在解算过程中,随时拖动滑块看前几帧的结果,编辑场景图,修改 节点间的连接,为下一次解算做准备,同时当前已经启动的物理解算还能在后台继续正常 运行。虽然 zeno 也用了 opengl ,自身返回一个 std::future 对象 。 • lambda 的函数体将在另一个线程里执行 。 • 接下来你可以在 main 里面做一些别的事 情, download 会持续在后台悄悄运行。 • 最后调用 future 的 get() 方法,如果此时 download 还没完成,会等待 download 完成,并获取 download 的返回值。 显示地等待: wait()
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南

    如果不加,在你创建新文件时, myvar 不会自动更新,还是旧的那几个文件,可能出现 undefined symbol ,需要重新运行 cmake -B build 才能更新。 • 加了,则每次 cmake --build 时自动检测目录是否更新,如果目录有新文件了, CMake 会自动帮你重新运行 cmake -B build 更新 myvar 变量。 六、头文件和源文件的一一对应关系 • 通常每个头文 -B build -DQt5_DIR=D:/Qt5 # 只需要第一次指定好, • cmake -B build # 以后第二次运行可以省略! • rm -rf build # 只有清理了 build 以后, • cmake -B build -DQt5_DIR=D:/Qt5 因为 Windows 要求 exe 和 dll 位于同一目录,否则 exe 在运行时就会找不到 dll 。 • 为了符合 Linux 分离 bin 和 lib 的组织格式,又要伺候 Windows 的沙雕同目录规则,我们通 常把 dll 动态库文件视为“可执行文件”和 exe 一起放到 bin 目录,而静态库则没有运行时必须 同目录的限制,所以可以照常放到 lib 目录。 (他真的我哭死) 科普:类似
    0 码力 | 56 页 | 6.87 MB | 1 年前
    3
  • ppt文档 Zadig 产品使用手册

    典型代表 方案特点分析 Zadig 优势 传统 Jenkins 方案 GitLab + Jenkins + 脚本化 运行效率低,管理维护成本高 方案局限性大,安全性风险高 无法支持敏捷交付模式 支持从需求到发布全流程敏捷交付。尤其面向 多服务并行部署发布,云原生构建环境和运行 环境,基础设施对接及企业级 SSO/ 权限管理 等 运维管理类平台 蓝鲸 Rainbond KubeSphere 手工操作、 赋能开发、员工成就感高 碎片化:手工协作 + 复杂工具链 工程化:一个平台 一键发布 工作流、环境配置自动更新、高 效调试、消除手工操作、精准快 速迭代、研发生产力 / 幸福感提 升 自助运行、系统化管理、自动化 程度高、测试有效性提升、质量 有保障、横向赋能、技能提升 随时调用工程基线提供的能力、 产品视角开发交付、团队高效协 同、稳定迭代 产研数字化过程数据透明、关键 指标易抽取、有能力合理调动资 Sprint 发布 变更发布 需求开发 测试验证 产品规划 uat 发布——版本管理 生成版本信息,包括:服务镜像,服务配置,服务启动顺序等等 业务负责人 / 产品经理 —— 项目整体运行状 况 项目负责人——分析项目各个环境的变化过程及效能短板 3 、 更多产品特性 Zadig 产品特性:开源 Zadig 的一切 云原生 CI/CD 、产研高效工程化协作、快速应对业务迭代
    0 码力 | 52 页 | 22.95 MB | 1 年前
    3
共 22 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
基于Rustvmm实现Kubernetes运行C++高性性能高性能并行编程优化课件1106080304Zadig面向开发开发者原生DevOps平台0516产品使用手册使用手册
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩