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

无数据

分类

全部后端开发(29)C++(29)

语言

全部中文(简体)(29)

格式

全部PPT文档 PPT(19)PDF文档 PDF(10)
 
本次搜索耗时 0.065 秒,为您找到相关结果约 29 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    __device__ 这样的双重修 饰符,可以把函数同时定义在 CPU 和 GPU 上,这样 CPU 和 GPU 都可以调 用。 让 constexpr 函数自动变成 CPU 和 GPU 都可以调用 • 这样相当于把 constexpr 函数自动变成修饰 __host__ __device__ ,从而两边都可以调用。 • 因为 constexpr 通常都是一些可以内联的函数,数学计 算表达式 的 RTX2080 也可以运行版本号为 52 的指令码,虽然 不够优化,但是至少能用。也就是要求:编译期指定的 版本 ≤ 运行时显卡的版本。 CMAKE_CUDA_ARCHITECTURES 会自动转换成 --gpu-code 等编 译 flag 版本号不要太新了 • 比如这里设置了 RTX3000 系列的架构版 本号 86 ,在 RTX2080 上就运行不出结 果。 • 最坑的是他不会报错!也不输出任何东西 一样!所以一定 要注意调对你的版本号。否则就会这样 kernel 好像没有执行过一样,只有 CPU 上的代码被执行了。 指定多个版本号 • 可以指定多个版本号,之间用分号分割。 • 运行时可以自动选择最适合当前显卡的版 本号,通常用于打包发布的时候。 • 不过这样会导致 GPU 编译器重复编译很 多遍,每次针对不同的架构,所以编译会 变得非常慢,生成的可执行文件也会变大 。 • 通常在自己的电脑上用时,同学们只要根
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    存储 图片解释稀疏的好处 传统稠密二维数组 无边界稀疏分块哈希表 有了无边界的稀疏网格,再也不用担心二维数组要分配多大了。 坐标可以无限延伸,甚至可以是负数!比如 (-1,2) 等…… 他会自动在写入时分配 16x16 的子网格,称之为叶节点 (leaf node) ,而这里的 unordered_map 就是充当根节点 (root node) 。 图片解释稀疏的好处 传统稠密二维数组 这些被写入的部分被称为激活元素 (active element) ,反之则是未激活 (inactive) 。 这就是稀疏的好处,按需分配,自动扩容。 分块则是利用了我们存储的数据常常有着空间局域性的特点,减轻哈希表的压 力,同时在每个块内部也可以快乐地 SIMD 矢量化, CPU 自动预取之类的。 第 2 章:位运算 稀疏的好处:坐标可以是负数 这样即使坐标为负数,或者可以是任意大的坐标,都不会产生越界错误。 32 等 。 • 则: a % b = a & (b - 1) • 比如 a % 8 可以改成 a & 7 。 & = 位运算 & 对负数的处理 • 使用位运算不仅更高效,还能够自动解决刚刚 % 会返回负数的问题: • (因为负数用补码表示,会直接把负号去掉) & = C 语言 / 的特色:负数 • 7 / 4 = 1 • -7 / 4 = -1 • 也就是说
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    mkdir build • cd build • cmake .. • make -j4 • sudo make install • cd .. • 需要先创建 build 目录 • 切换到 build 目录 • 在 build 目录运行 cmake < 源码目录 > 生成 Makefile • 执行本地的构建系统 make 真正开始构建( 4 进程并 行) • 让本地的构建系统执行安装步骤 cmake --build build -j4 • sudo cmake --build build --target install • cmake -B build 免去了先创建 build 目录再切换进去再指定源码目录的麻烦。 • cmake --build build 统一了不同平台( Linux 上会调用 make , Windows 上调用 devenv.exe ) • 结论:从现在开始,如果在命令行操作 结论:从现在开始,如果在命令行操作 cmake ,请使用更方便的 -B 和 --build 命令。 // 在源码目录用 -B 直接创建 build 目录并生成 build/Makefile // 自动调用本地的构建系统在 build 里构建,即: make -C build -j4 // 调用本地的构建系统执行 install 这个目标,即安 装 -D
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • pdf文档 《深入浅出MFC》2/e

    不快)。 JBACKUP 没有能力处理SrcDir 底下的子目录文件。如果要处理子目录,漂亮的作法是 使用递归(recursive),但是有点伤脑筋,这一部份留给你了。我的打字速度还算快,多 切换几次磁盘目录不是问题,呵呵呵。 JBACKUP 使用以下数个Win32 APIs: GetCurrentDirectory FindFirstFile FindNextFile CompareFileTime 5. 将context 中的堆栈指针缓存器(SS)和指令指针缓存器(IP)设定妥当。 看看上面的态势,的确可以显示出执行线程是CPU 分配时间的单位。所谓工作切换(context switch)其实就是对执行线程的context 的切换。 程序若欲产生一个新执行线程,调用CreateThread 即可办到: CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes constructor)把CDocument 对象内容复制了一份,使得mydoc 的 vtable 内容与CDocument 对象的vtable 相同。本例虽没有明显做出一个拷贝构造式, 编译器会自动为你合成一个。 说这么多,总结就是,经过所谓的data slicing,本例的mydoc 真正变成了一个完完全全 86 error LNK2001: unresolved external symbol
    0 码力 | 1009 页 | 11.08 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    ,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 • 因此可以利用谷歌提供的这个框架。 • 只需将你要测试的代码放在他的 • for (auto _: bm) • 里面即可。他会自动决定要重复多少次, 保证结果是准确的,同时不浪费太多时间 。 运行结果 刚才的 BENCHMARK_MAIN 自动生成了一个 main 函数 ,从而生成一个可执行文件供你运行。运行后会得到测试 的结果打印在终端上。 命令行参数 他还接受一些命令行参数来控制测试的输出格式为 作量大小均匀等分。然而工作量大小我们没办法提前 知道……怎么办? • 最简单的办法:只需要让线程数量超过 CPU 核心数量 ,这时操作系统会自动启用时间片轮换调度,轮流执 行每个线程。 • 比如这里分配了 16 个线程,但是只有 4 个处理器核心。 那么就会先执行 1,2,3,4 号线程,一段时间后自动切换 到 5,6,7,8 线程。当一个线程退出时候,系统就不会再 调度到他上去了,从而保证每个核心始终有事可做。
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    string 可以通过 s.c_str() 重新转换回古板的 const char * 。 • string 在离开作用域时自动释放内存 (RAII) ,不用手动 free 。 C++ 字符串和 C 字符串的不同 • C 语言字符串是单独一个 char *ptr ,自动以 ‘ \0’ 结尾。 • C++ 字符串是 string 类,其成员有两个: char *ptr; size_t len; 而且即使搞错了也能正常编译通过(一些高级的编译器会 给出警告),但是运行结果不对,或者还有可能崩溃。 泛型的 iostream 应运而生 • 得益于 C++ 的重载技术, cout 不用你手动指定类型,他 会自动识别参数的类型,帮你调用相应的格式化函数。 c_str 和 data 的区别 • s.c_str() 保证返回的是以 0 结尾的字符串首地址指针,总长度为 s.size() + 1 。 • ,因为 cpp 字符串没要求一定是 ‘ \0’ 结尾,字符串里是可以包含 ‘ \0’ 的。 C++14 新特性:自定义字面量后缀 • 如果你 using namespace std; 其实标准库已经自动帮你定义好了 “” s 后缀。 • 这里 “ hello”s 就等价于原本繁琐的 string(“hello”) 了。 C++14 新特性:自定义字面量后缀 • 如果你觉得 using namespace
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    -o $(TARGET) clean: rm -rf *.o $(TARGET) 注意:Makefile 中的缩进是制表符而不是空格符,如果你直接复制这段代码到你的编辑器中, 制表符可能会被自动替换掉,请自行确保在 Makefile 中的缩进是由制表符完成的。 如果你还不知道 Makefile 的使用也没有关系,本教程中不会构建过于复杂的代码,简单的 在命令行中使用 clang++ -std=c++2a auto auto 在很早以前就已经进入了 C++,但是他始终作为一个存储类型的指示符存在,与 register 并 存。在传统 C++ 中,如果一个变量没有声明为 register 变量,将自动被视为一个 auto 变量。而随着 18 2.3 类型推导 第 2 章语言可用性的强化 register 被弃用(在 C++17 中作为保留关键字,以后使用,目前不具备实际意义),对 auto std::vector 不同,std::array 对象的大小是固定的,如果容器大小是固 定的,那么可以优先考虑使用 std::array 容器。另外由于 std::vector 是自动扩容的,当存入大量的 数据后,并且对容器进行了删除操作,容器并不会自动归还被删除元素相应的内存,这时候就需要手动 运行 shrink_to_fit() 释放这部分内存。 std::vector v; std::cout
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 C++版

    展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们 是(按照 GitHub 自动生成的顺序):krahets, sjinzh, justin‑tse, Reanon, nuomi1, Gonglja, S‑N‑O‑ R‑L‑A‑X, danielsss, hpstory, RiverTwilight � 尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以被优化至 ?(1) 。不过绝大多数编程语言(例如 Java, Python, C++, Go, C# 等)都不支持自动优化尾递归,因此一般来说空间复杂度是 ?(?) 。 � 函数和方法这两个术语的区别是什么? 函数(function)可以独立被执行,所有参数都以显式传递。方法(method)与一个对象关 联 现在我们可以回答最初的问题:float 的表示方式包含指数位,导致其取值范围远大于 int 。根据以上计算, float 可表示的最大正数为 2254−127 × (2 − 2−23) ≈ 3.4 × 1038 ,切换符号位便可得到最小负数。 尽管浮点数 float 扩展了取值范围,但其副作用是牺牲了精度。整数类型 int 将全部 32 位用于表示数字,数 字是均匀分布的;而由于指数位的存在,浮点数 float
    0 码力 | 343 页 | 27.39 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 简体中文 C++ 版

    算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 www.hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruis Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参数都以显式传递。方法(method)与一个对象关联,被隐式传递给
    0 码力 | 379 页 | 18.48 MB | 10 月前
    3
  • pdf文档 Hello 算法 1.1.0 C++ 版

    算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、Gonglja、nuomi1、codingonion、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑crui Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参数都以显式传递。方法(method)与一个对象关联,被隐式传递给
    0 码力 | 379 页 | 18.47 MB | 1 年前
    3
共 29 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件081011深入深入浅出MFC0615现代教程高速上手141720Hello算法1.00b41.2简体中文简体中文1.1
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩