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

无数据

分类

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

语言

全部中文(简体)(24)英语(8)

格式

全部PDF文档 PDF(16)PPT文档 PPT(16)
 
本次搜索耗时 0.020 秒,为您找到相关结果约 32 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 英语
  • 全部
  • PDF文档 PDF
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化

    从汇编角度看编译器优化 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 高性能并行编程与优化 - 课程大纲 • 分为前半段和后半段,前半段主要介绍现代 C++ ,后半段主要介绍并行编程与优化。 1 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 4GB 限制外,也有一定性能优势。 8 位, 16 位, 32 位, 64 位版本 al, ax, eax, rax r15b, r15w, r15d, r15 AT&T 汇编语言 GCC 编译器所生成的汇编语言就属于这种 返回值:通过 eax 传出 movl $42, %eax 相当于: eax = 42; 前 6 个参数:分别通过 edi , esi , edx , ecx , r8d
    0 码力 | 108 页 | 9.47 MB | 1 年前
    3
  • pdf文档 Newer Isn't Always Better

    timestep) { auto k1 = fun(time, y0); auto k2 = fun(time + timestep * 0.5, y0 + k1 * timestep * 0.5); auto k3 = fun(time + timestep * 0.5, y0 + k2 * timestep * 0.5); auto k4 = fun(time + timestep timestep, y0 + k3 * timestep); return (y0 + (k1 + 2 * k2 + 2 * k3 + k4) * timestep / 6); } double stateOut = common::math::runge_kutta4(derivFun, currTime, stateIn, dt); Usage Exampleatomosspace timestep) { auto k1 = fun(time, y0); auto k2 = fun(time + timestep * 0.5, y0 + k1 * timestep * 0.5); auto k3 = fun(time + timestep * 0.5, y0 + k2 * timestep * 0.5); auto k4 = fun(time + timestep
    0 码力 | 60 页 | 1.34 MB | 6 月前
    3
  • pdf文档 So You Think You Can Hash

    not throw exceptions when called If k1 == k2 ➡ hash()(k1) == hash()(k2) If k1 != k2 ➡ the probability that hash()(k1) == hash()(k2) 
 should be very small, approaching 1.0/n hash_code() const { std::size_t k1 = std::hash{}(firstName); std::size_t k2 = std::hash{}(lastName); std::size_t k3 = std::hash{}(age); } }; g>{}(firstName); std::size_t k2 = std::hash{}(lastName); std::size_t k3 = std::hash{}(age); } }; 🤔 return hash_combine(k1, k2, k3); // what algorithm is this?2024
    0 码力 | 119 页 | 6.54 MB | 6 月前
    3
  • pdf文档 Adventures in SIMD Thinking (Part 2 of 2)

    Adventures in SIMD Thinking 5 S = s0 s1 s2 s3 s4 s5 s6 ... K = k0 k1 k2 r0 = ... r1 = s0k0 + s1k1 + s2k2 r2 = s1k0 + s2k1 + s3k2 r3 = s2k0 + s3k1 s6 ... k0 k1 k2 r2 = s0 s1 s2 s3 s4 s5 s6 ... k0 k1 k2 r3 = s0 s1 s2 s3 s4 s5 s6 ... k0 k1 k2 r4 = s0 s1 s2 s3 s4 s5 s6 ... k0 k1 k2 r5 = s0 s1 s2 s3 s4 s5 s6 ... k0 k1 k2 Convolution CppCon 2020 - Adventures in SIMD Thinking 6Copyright © 2020 Bob
    0 码力 | 135 页 | 551.08 KB | 6 月前
    3
  • pdf文档 High-Performance Numerical Integration in the Age of C++26

    sign ); const value_type a1 = a + dt / two ∗ k1; const value_type k2 = da_dt(a1 , sign ); const value_type a2 = a + dt / two ∗ k2; const value_type k3 = da_dt(a2 , sign ); const value_type a3 = a a + dt ∗ k3; const value_type k4 = da_dt(a3 , sign ); return a + dt / six ∗ (k1 + k2 + k2 + k3 + k3 + k4); }; CppCon - Vincent Reverdy - September 20th, 2024 - Aurora, Colorado, USA 14 CC0 1.0 Universal Conclusion Runge-Kutta of order 4 (RK4) Equations k1 = f(tn, yn) k2 = f � tn + h 2 , yn + h k1 2 � k3 = f � tn + h 2 , yn + h k2 2 � k4 = f(tn + h, yn + hk3) yn+1 = yn + h 6 (k1 + 2k2 + 2k3
    0 码力 | 57 页 | 4.14 MB | 6 月前
    3
  • pdf文档 CppCon 2021: Persistent Data Structures

    copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 Table pairs CHM copyIdx copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 K5 V5 K6 V6 K7 V7 K8 V8 K1 V1 K2 V2 1.dat 2.dat 3.dat Table pairs copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 Table pairs CHM copyIdx copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 K5 V5 K6 V6 K7 V7 K8 V8 K1 V1 K2 V2 1.dat 2.dat 3.dat Table pairs copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 Table pairs CHM copyIdx copyDone size slots newTable K1 V1 K2 V2 K3 V3 K4 V4 K5 V5 K6 V6 K7 V7 K8 V8 K1 V1 K2 V2 1.dat 2.dat 3.dat Table pairs
    0 码力 | 56 页 | 1.90 MB | 6 月前
    3
  • pdf文档 Algorithmic Complexity

    In Big O, we care about asymptotic analysis, when n → ∞ Thus, for example: t(n) = k1∙ n ∙ log(n) + k2 ∙ n ∈ O(n ∙ log(n)) 19 Algorithmic Complexity @ CppCon 2021 Only the dominating factor counts In Big O, we care about asymptotic analysis, when n → ∞ Thus, for example: t(n) = k1∙ n ∙ log(n) + k2 ∙ n ∈ O(n ∙ log(n)) 20Algorithmic Complexity @ CppCon 2021 Only the dominating factor counts In In Big O, we care about asymptotic analysis, when n → ∞ Thus, for example: t(n) = k1∙ n ∙ log(n) + k2 ∙ n ∈ O(n ∙ log(n)) 21 Algorithmic Complexity @ CppCon 2021 Not in this talk... 22 Notation Name
    0 码力 | 52 页 | 1.01 MB | 6 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    ,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu static_cast(ptr) 的错误 。 • 虽然作者也经常会忍不住在 zeno 中用 编译器默认生成的构造函数:无参数(小心 POD 陷阱!) • 除了我们自定义的构造函数外,编译器还会自动生成一些构造函数。 • 当一个类没有定义任何构造函数,且所有成员都有无参构造函数时,编译器会自动生成一 个无参构造函数 Pig() ,他会调用每个成员的无参构造函数。 • 但是请注意,这些类型不会被初始化为 plain-old-data )。 • POD 的存在是出于兼容性和性能的考虑。 << 取决于内存的随机值 编译器默认生成的构造函数:无参数( POD 陷阱解决方案) • 不过我们可以手动指定初始化 weight 为 0 。 • 通过 {} 语法指定的初始化值,会在编译器自 动生成的构造函数里执行。 编译器默认生成的构造函数:无参数( POD 陷阱解决方案,续) • 不过我们可以手动指定初始化 weight
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    本书每章最后还加入了少量难度极小的习题,仅用于检验你是否能混合运用当前章节中的知识点。你 可以在这里找到习题的答案,文件夹名称为章节序号。 第 1 章迈向现代 C++ 编译环境:本书将使用 clang++ 作为唯一使用的编译器,同时总是在代码中使用 -std=c++2a 编译 标志。 > clang++ -v Apple LLVM version 10.0.1 (clang-1001.0.46.4) Target: Stroustrup • C++ 历史 • C++ 特性在 GCC/Clang 等编译器中的支持情况 • C++98 与 C99 之间的区别 11 第 2 章语言可用性的强化 第 2 章语言可用性的强化 当我们声明、定义一个变量或者常量,对代码进行流程控制、面向对象的功能、模板编程等这些都 是运行时之前,可能发生在编写代码或编译器编译代码时的行为。为此,我们通常谈及语言可用性,是 指那些发生在运行时之前的语言行为。 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东 西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义 为 0。 C++ 不允许直接将 void * 隐式转换到其他类型。但如果编译器尝试把 NULL 定义为 ((void*)0), 那么在下面这句代码中: char *ch = NULL;
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起

    ,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 用户) CMake 3.12 及以上(跨平台作业) Git 2.x (作业上传到 GitHub ) CUDA Toolkit 10.0 以上( GPU 专题) 关于作者 • 我是 Taichi 编译器的贡献者之一( https://github.com/taichi-dev/taichi ) 关于作者(续) • 我是 Taichi Blend 的作者( https://github.com/ 关于作者(再续) • 主导 Zeno 节点仿真框架的开发( https://github.com/zenustech/zeno ) 什么是编译器 • 编译器,是一个根据源代码生成机器码的程序。 • > g++ main.cpp -o a.out • 该命令会调用编译器程序 g++ ,让他读取 main.cpp 中的字符串(称为源码),并根据 C+ + 标准生成相应的机器指令码,输出到 a.out
    0 码力 | 32 页 | 11.40 MB | 1 年前
    3
共 32 条
  • 1
  • 2
  • 3
  • 4
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件04NewerIsnAlwaysBetterSoYouThinkCanHashAdventuresinSIMDThinkingPartofHighPerformanceNumericalIntegrationtheAge26CppCon2021PersistentDataStructuresAlgorithmicComplexity02现代教程高速上手1114172001
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩