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

无数据

分类

全部后端开发(26)C++(20)Rust(6)系统运维(2)前端开发(1)数据库(1)JavaScript(1)TiDB(1)网络与安全(1)NativeScript(1)

语言

全部中文(简体)(19)英语(11)

格式

全部PPT文档 PPT(30)
 
本次搜索耗时 0.015 秒,为您找到相关结果约 30 个.
  • 全部
  • 后端开发
  • C++
  • Rust
  • 系统运维
  • 前端开发
  • 数据库
  • JavaScript
  • TiDB
  • 网络与安全
  • NativeScript
  • 全部
  • 中文(简体)
  • 英语
  • 全部
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    建规则。 Ninja 是一个高性能,跨平台的构建系统, Linux 、 Windows 、 MacOS 上都可 以用。 • Ninja 可以从包管理器里安装,没有包管理器的 Windows 可以用 Python 的包管理器安 装: • pip install ninja (有趣的事实: CMake 也可以通过 pip install cmake 安装……) • 事实上, MSBuild 是单核心的构建系统, ake/ project 的初始化: VERSION 字段 • project( 项目名 VERSION x.y.z) 可以把当前项目的版本号设定为 x.y.z 。 • 之后可以通过 PROJECT_VERSION 来获取当前项目的版本号。 • PROJECT_VERSION_MAJOR 获取 x (主版本号)。 • PROJECT_VERSION_MINOR 获取 y (次版本号)。 • PROJECT_VERSION_PATCH 获取 z (补丁版本号)。 一些没什么用,但 CMake 官方不知为何就是提供了的项目字段…… 项目名的另一大作用:会设置另外 < 项目名 >_SOURCE_DIR 等变量 小技巧: CMake 的 ${} 表达式可以嵌套 因为 ${PROJECT_NAME} 求值的结果是 hellocmake 所以 ${${PROJECT_NAME}_VERSION}
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • ppt文档 C++20 STL Features: 1 Year of Development on GitHub

    Version 1.0 - September 15, 2020 1 C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej2 tests/std, tests/libcxx, tests/tr1 (legacy) • llvm-project submodule for libc++'s test suite • Uses Python and lit (LLVM Integrated Tester) • Linear history, squashed commits • Feature branches are uncommon Sets • Currently up to 12 VMs, each with 16 cores • VMs install VS (with Clang, CMake, Ninja), Python, CUDA • We enforce clang-format for product/test code • Saves an incredible amount of time • Our
    0 码力 | 45 页 | 702.09 KB | 6 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南

    依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package( [version] [EXACT] [QUIET] [CONFIG] [MODULE] • [REQUIRED] [[COMPONENTS] [components...]] • 如果第三方库发懒,没有提供 Config 文件怎么办? • 但是,也有少数不听话的库,官方不提供 CMake 支持,即安装时不自带 Config 文件。 • 恼人的是,这些不听话的库有些竟然是非常热门的库!例如 Python , CUDA , Jemalloc 。 • 为了不影响 CMake 用户体验, CMake 发明了 Find 文件( FindXXX.cmake ),你不 支持我是吧?我支持你! Find (${XXX_VERSION} VERSION_LESS 3.1.0) 判断大小。 https://cmake.org/cmake/help/latest/command/if.html find_package 命令指定版本 • find_package(OpenCV REQUIRED) • 查找名为 OpenCV 的包,不限版本,事后可以通过 ${OpenCV_VERSION} 查询找到的版本。
    0 码力 | 56 页 | 6.87 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器

    end()) { • throw std::out_of_range(“ 找不到键值” ); • } • val = it->second; 从 map 中读取元素: C++ 和 Python 对比 • Python 中 val = m[“key”] 读取元素,找不到键值会出错,调试时更早发现错误。 • C++ 中 val = m[“key”] 读取元素,找不到键值不会出错而是默默创建,还初始化为 end()) { • throw std::out_of_range(“ 找不到键值” ); • } • it->second = val; 往 map 中写入元素: C++ 和 Python 对比 • Python 中 m[“key”] = val 写入元素,找不到键值会自动创建,并写入元素。 • C++ 中 m[“key”] = val 写入元素,找不到键值会自动创建,并写入元素。 • C++ • 总结,要符合你熟悉的 Python 的 [] 行为,在 C++ 中要根据不同情况选择不同的方法访 问: • 读取用 at() 写入用 [] • 很多同学会困惑,为什么要设计两套, C++ 他爸是精神分裂症吗? • 恰恰相反, C++ 是中两个函数不论读写都一视同仁: at 总是抛出异常, [] 总是默默创建 。 • 这么看 Python 才是精分:同一个 [] 函数
    0 码力 | 90 页 | 8.76 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    语言 % 的特色:负数 • 7 % 4 = 3 • -7 % 4 = -3 • 也就是说 a % b 如果 a 是负数,则得到的模也是负数。 Python 的 % 就没问题 • 7 % 4 = 3 • -7 % 4 = 1 • Python 的模运算 a % b 的值始终是 [0, b) 区间内的正数,非常方便。 对稀疏数据结构造成的问题 • 如果这里的 x 是负数,则 x % B / 4 = 1 • -7 / 4 = -1 • 也就是说 a / b ,如果 a 是负数,则是向上取整,如果 a 是正数,则是向下取整。 Python 的 // 就没问题 • 7 // 4 = 1 • -7 // 4 = -2 • Python 的整除运算 a // b 的值始终是向下取整,非常方便。 对稀疏数据结构造成的问题 • 也就是说,如果 x 是 [-3,0] 则 x / B >> 3 。 >> 2 = 位运算 >> 对负数的处理 signed 类型的 >> n 会把最高位复制 n 次。 因为补码的特性,这导致负数 >> 的结果仍是负 数。 这样就实现了和 Python 一样的始终向下取整除 法。 >> 2 = unsigned 类型的位运算 >> 不一样 而 unsigned 类型的 >> n 会不会复制最高位, 只是单纯的位移,这会导致负数的符号位单独被位
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
  • ppt文档 THE FIRST EXPLORATION OF PROJECT SPARROW

    most of the main stream AI frameworks such like Tensorflow, PyTorch and MXNet embrace Python+C++ for their software layers design.  While Rust is coming! https://githubmemory. Ray(the distributed training framework that behinds many LLMs) by leveraging Python + Rust to instead of Python + C++ within current implementation;  For some initial design, you may refer to been possible to design Renode peripheral models in a variety of languages such as C#, Python and C.  Adding Rust peripherals in Renode now: https://antmicro.com/blog/2021/0
    0 码力 | 68 页 | 13.14 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起

    make 在 Unix 类系统上是通用的,但在 Windows 则不然。 2. 需要准确地指明每个项目之间的依赖关系,有头文件时特别头疼。 3. make 的语法非常简单,不像 shell 或 python 可以做很多判断等。 4. 不同的编译器有不同的 flag 规则,为 g++ 准备的参数可能对 MSVC 不适用。 构建系统的构建系统( CMake ) • 为了解决 make 的以上问题,跨平台的 需要准确地指明每个项目之间的依赖关系,有头文件时特别头疼。 • CMake 可以自动检测源文件和头文件之间的依赖关系,导出到 Makefile 里。 • make 的语法非常简单,不像 shell 或 python 可以做很多判断等。 • CMake 具有相对高级的语法,内置的函数能够处理 configure , install 等常见需求。 • 不同的编译器有不同的 flag 规则,为 g++ 准备的参数可能对 glfw/glfw - OpenGL 窗口和上下文管理 10.libigl/libigl - 各种图形学算法大合集 fmt - 使用这个神奇的格式化库 • fmt::format 的用法和 Python 的 str.format 大致相似: CMake - 引用系统中预安装的第三方库 • 可以通过 find_package 命令寻找系统中的包 / 库: • find_package(fmt
    0 码力 | 32 页 | 11.40 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    除了用于初始化的构造函数( constructor ) 还包括了用于销毁的解构函数( destructor ) 离开 {} 作用域自动释放 手动释放 RAII :避免犯错误 与 Java , Python 等垃圾回收语言不同, C++ 的 解构函数是显式的,离开作用域自动销毁,毫不含 糊(有好处也有坏处,对高性能计算而言利大于 弊) 如果没有解构函数,则每个带有返回的分 支都要手动释放所有之前的资源 管理的对象生命周期长度,取决于他所属的唯一一个引用的寿命 。 那是不是只要 shared_ptr 就行,不用 unique_ptr 了? • 可以适当使用减轻初学者的压力,因为他的行为和 Python 等 GC 语言的引用计数机制很像。但从长远 来看是不行的,因为: 1. shared_ptr 需要维护一个 atomic 的引用计数器, 效率低,需要额外的一块管理内存,访问实际对象 需要二级指针,而且 请求等。 • 这些业务往往都是在和资源打交道,从而基本都是刚刚说的要删除拷贝函数的那一类,解 决这种需求,几乎总是在用 shared_ptr 的模式,于是 Java 和 Python 干 脆简化:一切非基础类型的对象都是浅拷贝,引用计数由垃圾回收机制自动管理。 • 因此,以系统级编程、算法数据结构、高性能计算为主要业务的 C++ ,才发展出了这些思 想,并将拷贝 / 移动
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector

    可以获取指向第一个元素所在位置的迭代器。 • end 可以获取指向最后一个元素下一个位置的迭代器。 • 迭代器的作用类似于一个位置标记符。 • 虽然对于 vector 来说只需要下标( index )就能标记位置了,例如 Python 中也是通过 0 表示第一个元素, -1 表示最后一个元素。 • a[0] a[1] a[-1] • 而 C++ 的特色就是采用了迭代器( iterator )来标记位置,他实际上是一个指针,这样 )。区间可以是一个容器的全部, 例如 {a.begin(), a.end()} 区间;也可以是一个容器的部分,例如 {a.begin() + 1, a.end() - 1} 相当于去头去尾后的列表,相当于 Python 中的 a[1:-1] 。 • 区间这个概念在 C++20 被高度强化了亿下,之后的课我们研究一下他。 vector 容器: begin 和 end • begin 可以获取指向第一个元素所在位置的迭代 + 1 可以插入到第二个元素位置。 • a.end() 可以插入到最末尾( append )。 • a.end() - 1 则是插入到倒数第一个元素前。 • end() 迭代器的减法和是 Python 中负数作为 下标的情况很像的,不过 C++ 更加明确是从 end 开始往前数的。 • iterator insert(const_iterator pos, int const &val);
    0 码力 | 90 页 | 4.93 MB | 1 年前
    3
  • ppt文档 基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺

    Wisecondor - 生物信息 CNV 分析 • mdsn - A Multi-address DSN(Data Source Name) parser. TDengine 应用开发组 • Python/Rust/Go 连接器 • 数据可视化 • 数据库运维工具 • 第三方数据源接入 • BI 系统接入 https://taosdata.com/ https://github.com/zitsen Kafka OPC-UA MQTT Broker Clustered Industrial Automated Systems SCADA/HMI Analytics, ML App Python/Matlab/R Java/C/C++/Restful IoT Application Visualization Tool Grafana Web Based Management
    0 码力 | 29 页 | 2.26 MB | 1 年前
    3
共 30 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件1120STLFeaturesYearofDevelopmentonGitHub161710李枫2023RustChinaConf__SparrowFengLi20230614aofficialtemplate010213霍琳Rust
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩