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

无数据

分类

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

语言

全部中文(简体)(27)中文(繁体)(1)

格式

全部PPT文档 PPT(17)PDF文档 PDF(11)
 
本次搜索耗时 0.068 秒,为您找到相关结果约 28 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化

    周转的余地时间比较少,不利于延迟隐藏。 而如果把这三条赛道合并成一条( mc ),这样同样的经费(缓存容量)能铺出的赛道(预 取)就更长,从而 CPU 有更长的周转时间来隐藏他内部计算的延迟。所以本案例中 AOS 比 SOA 好。 AOS 、 SOA 、 AOSOA 哪家强:结论 • 如果几个属性几乎总是同时一起用的,比如位置矢量 pos 的 xyz 分量,可 能都是同时读取同时修改的,这时用 做的事情相当于:读 + 写,从而 每个元素只需要访问两遍内存。对这种完全 mem-bound 的程 序而言就是加速了 2 倍。 测试结果 可见,能否很好的利用缓存,和程序访问内存的时间局域性有关。 案例:一维 jacobi 迭代 • 一些物理仿真中,常用到这种形式的迭代法: • for (i=0...n) b[i] = a[i + 1] + a[i - 1]; // 假装是 jacobi • 防止 写回操作污染缓存。 • 最终加速比: 24 倍。这里可以看到 i - 2 和 i + 2 跨步的访存似乎不是很理想,可能还能 进亿步优化,出于时间原因就没继续深入, 同学们可以课后研究一下。 第 5 章:内存分配与分页 vector :写入两次,时间都是一样的(理所当然) malloc :写入两次,第一次明显比第二次慢? new int[n] :和 malloc 一样,写入两次,第一次明显比第二次慢?
    0 码力 | 147 页 | 18.88 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    // 获取两个时间点的差(时间 段) • int64_t sec = chrono::duration_cast(dt).count(); // 时间差的秒数 案例:计算花费的时间 时间段:作为 double 类型 duration_cast 可以在任意的 duration 类型之间转换 duration 表示用 T 类型表示,且时间单位是 R std::future 。 • 同理有 std::promise ,他的 set_value() 不接受参数,仅仅作为同步用, 不传递任何实际的值。 第 3 章:互斥量 多线程打架案例 • 两个线程试图往同一个数组里推数据。 • 奔溃了!为什么? • vector 不是多线程安全( MT-safe )的容 器。 • 多个线程同时访问同一个 vector 会出现 数据竞争( 相比普通的 std::mutex 有一定性能损失。 • 同理还有 std::recursive_timed_mutex , 如果你同时需要 try_lock_for() 的话。 第 5 章:数据结构 案例:多线程环境中使用 std::vector • 刚才说了, vector 不是多线程安全的容器 。 • 多个线程同时访问同一个 vector 会出现 数据竞争( data-race )现象。
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    。意思是我们访问了非法的地 址,和 CPU 上的 Segmentation Fault 差不多。 封装好了: helper_cuda.h • 其实 CUDA toolkit 安装时,会默认附带一系列案例代码, 这些案例中提供了一些非常有用的头文件和工具类,比如这 个文件: • /opt/cuda/samples/common/inc/helper_cuda.h • 把他和 helper_string 样和之前作为核函数参数是一样的,不过 是作为 Func 结构体统一传入了。 如何捕获外部变量? • 或者在 [] 里这样直接写自定义捕获的表达 式也是可以的,这样就可以用同一变量名 。 第 5 章:数学运算 经典案例,并行地求 sin 值 • 就让我们在 GPU 上并行地计算从 sin(0) 到 sin(65535) 的值,并填入到数组 arr 中。 • 这里为什么用 sinf 而不是 sin ? • 章:原子操作 经典案例:数组求和 • 如何并行地对数组进行求和操作? • 首先让我们试着用串行的思路来解题。 • 因为 __global__ 函数不能返回值,只能 通过指针。因此我们先分配一个大小为 1 的 sum 数组,其中 sum[0] 用来返回数 组的和。这样我们同步之后就可以通过 sum[0] 看到求和的结果了。 • 可是算出来的结果却明显不对,为什么? 经典案例:数组求和
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 C++ 版

    面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 Unicode 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } Tip 深度优先搜索也可以基于迭代实现,有兴趣的读者可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。
    0 码力 | 379 页 | 18.47 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b5 C++版

    面,这些字符集一般只定 义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言也存在多种字符集标准,如果 两台电脑安装的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常被用在各类安 全应用与协议中。 ‧ postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } � 深度优先搜索也可以基于迭代实现,有兴趣的同学可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。
    0 码力 | 377 页 | 30.69 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0 C++版

    面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } � 深度优先搜索也可以基于迭代实现,有兴趣的读者可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。
    0 码力 | 378 页 | 17.59 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 C++版

    适合作为第一章的内容。然而,当我们讨论某个数据结构或算法的特点时,我们难以避免要分析其运行速度 和空间使用情况。因此,在深入学习数据结构与算法之前,建议读者先对复杂度建立初步的了解,并能够完 成简单案例的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间可以直观且准确地反映算法的效率。然而,如果我们想要准确预估一段代码的运行时间,应该如何 操作呢? 1. 确定运 的输入数据映射到恒定长度的哈希值。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。直至目前: ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常被用在各类安 全应用与协议中。 ‧ SHA‑3 相较 ? 为节点数量。 空间复杂度:在最差情况下,即树退化为链表时,递归深度达到 ? ,系统占用 ?(?) 栈帧空间。 � 我们也可以不使用递归,仅基于迭代实现前、中、后序遍历,有兴趣的同学可以自行研究。 下图展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分: 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。 7
    0 码力 | 343 页 | 27.39 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 简体中文 C++ 版

    面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 Unicode 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } Tip 深度优先搜索也可以基于迭代实现,有兴趣的读者可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。
    0 码力 | 379 页 | 18.48 MB | 10 月前
    3
  • pdf文档 Hello 算法 1.2.0 繁体中文 C++ 版

    面,這些字符集一般 只定義了特定語言的字元,無法在多語言環境下正常工作。另一方面,同一種語言存在多種字符集標準,如 果兩臺計算機使用的是不同的編碼標準,則在資訊傳遞時就會出現亂碼。 那個時代的研究人員就在想:如果推出一個足夠完整的字符集,將世界範圍內的所有語言和符號都收錄其 中,不就可以解決跨語言環境和亂碼問題了嗎?在這種想法的驅動下,一個大而全的字符集 Unicode 應運而 生。 Unicode 近一個世紀以來,雜湊演算法處在不斷升級與最佳化的過程中。一部分研究人員努力提升雜湊演算法的效能, 另一部分研究人員和駭客則致力於尋找雜湊演算法的安全性問題。表 6‑2 展示了在實際應用中常見的雜湊演 算法。 ‧ MD5 和 SHA‑1 已多次被成功攻擊,因此它們被各類安全應用棄用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的雜湊演算法之一,仍未出現成功的攻擊案例,因此常用在各類安 全應用與協議中。 postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } Tip 深度優先搜尋也可以基於迭代實現,有興趣的讀者可以自行研究。 圖 7‑11 展示了前序走訪二元樹的遞迴過程,其可分為“遞”和“迴”兩個逆向的部分。 1.“遞”表示開啟新方法,程式在此過程中訪問下一個節點。 2.“迴”表示函式返回,代表當前節點已經訪問完畢。
    0 码力 | 379 页 | 18.79 MB | 10 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    双精度浮点数 float 的底数有 52 位,指数有 11 位(图 2 )。 double: float: http://c.biancheng.net/view/314.html 以求最大值为案例 用定点数来表示 • 刚刚说到浮点数的特性是有指数位,可表示不同数量级上的数。 • 比如 123.4 实际上是 1.234 * 10^2 ,也就是他实际存储的是 234 (底数)和 2 (指数)。 优点:平坦直观,适合插桩,顺序访问,自适应网格 。 • 缺点:尺寸受限,操作系统挂钩,依赖 x86 硬件机 制。 • 顺便一提, GPU 也可以搞 SPGrid ,不过 GPU 的 页大小是 2MB ,王鑫磊最近研究过这个,因为太繁 琐而放弃了。 http://pages.cs.wisc.edu/~sifakis/papers/SPGrid.pdf 今天的回家作业 • 用稀疏数据结构改良康威生命游戏 (conway’s
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
共 28 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件070508Hello算法1.11.00b50b41.2简体中文简体中文繁体繁体中文10
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩