新一代分布式高性能图数据库的构建 - 沈游人其中科技进步卓越奖是 CCF 科技进步奖评选中的最高级别奖项,旨在嘉奖在计 算机科学、技术或工程领域具有重要发现、发明、原始创新,在相关领域有一 定国际影响的优秀成果, AtlasGraph 的获奖证明了其技术领先性、创新性、 重要性,在自主可控浪潮下,实现了对国外产品的有效替代,防止高新技术领 域“卡脖子”现象的发生。 海致科技集团、海致星图联合清华大学研发的“ AtlasGraph 大规模图数据分析平 01 完善的测试类型支持,包括单元 测试、集成测试、基准测试等 02 03 和文档系统以及 CI/CD 工具的良 好集成 完整的断言系统 异步协程 零成本抽象 强大的测试框架 REPL 命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力 免代码,可视化定义实体、 边,设计图模型。 【亮点】 • 支持模型导入导出 • 拖拽式关系构建0 码力 | 38 页 | 24.68 MB | 1 年前3
Zadig 产品使用手册和最佳实践,基于平台工程打造,可以轻松连 接一切工具链 企业自建 DevOps 流程平台 围绕 Jenkins 或 CI/CD 工具 搭建流程串接胶水平台 局限性大扩展性差 内部推广难度极高 做完后价值难被证明 通用性、可扩展性、技术先进性强,可以灵活 广泛接入各种技术和业务场景 基于代码管理的 DevOps 方案 Gitee 平台 GitLab 平台 局限性大、全流程安全性低 维护成本高 支持多个服务并行构建部署、产品级发布,可0 码力 | 52 页 | 22.95 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程里,增加两个显式编译模板的声明: 一般来说,我会建议模板不要 分离声明和定义,直接写在头 文件里即可。如果分离还要罗 列出所有模板参数的排列组合 ,违背了开 - 闭原则。 模板的惰性:延迟编译 • 要证明模板的惰性,只需看这个例子: • 要是编译器哪怕细看了一眼:字符串怎么可能被写入呢?肯定是会出错的。 • 但是却没有出错,这是因为模板没有被调用,所以不会被实际编译! • 而只有当 main 调用了这个函数,才会被编译,才会报错!0 码力 | 82 页 | 12.15 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器其中第一个返回值是一个迭 代器,分两种情况讨论。 • 当向 set 容器添加元素成功 时,该迭代器指向 set 容器 新添加的元素, bool 类型的 值为 true ; • 如果添加失败,即证明原 set 容器中已存有相同的元 素,此时返回的迭代器就指 向容器中相同的此元素,同 时 bool 类型的值为 false 。 • pairinsert(int 0 码力 | 83 页 | 10.23 MB | 1 年前3
Zadig 面向开发者的云原生 DevOps 平台、 Tekton 、 Argo 等 搭建流程串接胶水平台 建设成本高 500-2000 万之间 使用和学习门槛高;随业务发展扩展性差 局限性大,内部推广难度极高,做完后维 护成本高价值难被证明 低采购成本、低实施成本, 内置模板库和最佳实践;高扩展性、技术先进性强 ,可灵活广泛接入现有工具链和业务场景 基于代码管理的 DevOps 方 案 Gitee 平台 GitLab 平台0 码力 | 59 页 | 81.43 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器该节点的值 < 他右子节点值 • 这到底有什么好处?是不是 C++ 之父觉得排序很好玩所以才排的? 1 4 5 8 7 排序增好玩 排序增好玩 小 大 2 set 查找为什么高效 • 可以证明,只要保证这个树是排序的,那么快速查找到任意一个数的通用规则是: • 设要找的数为 X ,则 set.find(X) 首先从根节点开始寻找。 • 若 X == 当前节点,则这个节点就是我要找的,返回指向该节点的迭代器;0 码力 | 90 页 | 8.76 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南二、根项目的 CMakeLists.txt 配置 • 在根项目的 CMakeLists.txt 中,设置了默 认的构建模式,设置了统一的 C++ 版本 等各种选项。然后通过 project 命令初始 化了根项目。 • 随后通过 add_subdirectory 把两个子项 目 pybmain 和 biology 添加进来(顺序 无关紧要),这会调用 pybmain/CMakeLists include 命令。 • 你写 include(XXX) ,则他会在 CMAKE_MODULE_PATH 这个列表 中的所有路径下查找 XXX.cmake 这个文件。 • 这样你可以在 XXX.cmake 里写一些你常用的函数,宏,变量等。 十三、你知道吗? CMake 也有 include 功能 • 和 C/C++ 的 #include 一样, CMake 也有一个 include 命令。 • set(key val PARENT_SCOPE) 才能修改到外面的变量。 第二章:第三方库 / 依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package([version] [EXACT] [QUIET] [CONFIG] [MODULE] • 0 码力 | 56 页 | 6.87 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南CMake 。 • 现代 CMake 和古代 CMake 相比,使用 更方便,功能更强大。 为什么要学习现代 CMake ? 现代 CMake : 古代 CMake : 第 0 章:命令行小技巧 传统的 CMake 软件构建 / 安装方式 • mkdir build • cd build • cmake .. • make -j4 • sudo make install --build build 统一了不同平台( Linux 上会调用 make , Windows 上调用 devenv.exe ) • 结论:从现在开始,如果在命令行操作 cmake ,请使用更方便的 -B 和 --build 命令。 // 在源码目录用 -B 直接创建 build 目录并生成 build/Makefile // 自动调用本地的构建系统在 build 里构建,即: make CMAKE_PROJECT_NAME :根项目的项目名 • 详见: https://cmake.org/cmake/help/latest/command/project.html 子模块里也可以用 project 命令,将当前目录作为一个独立的子项目 这样一来 PROJECT_SOURCE_DIR 就会是子模块的源码目录而不是外层了。 这时候 CMake 会认为这个子模块是个独立的项目,会额外做一些初始化。 他的构建目录0 码力 | 166 页 | 6.54 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起编译器,是一个根据源代码生成机器码的程序。 • > g++ main.cpp -o a.out • 该命令会调用编译器程序 g++ ,让他读取 main.cpp 中的字符串(称为源码),并根据 C+ + 标准生成相应的机器指令码,输出到 a.out 这个文件中,(称为可执行文件)。 • > ./a.out • 之后执行该命令,操作系统会读取刚刚生成的可执行文件,从而执行其中编译成机器码, 调用系统提供的 printf 文件越来越多时,一个个调用 g++ 编译链接会变得很麻烦。 • 于是,发明了 make 这个程序,你只需写出不同文件之间的依赖关系,和生成各文件的规则。 • > make a.out • 敲下这个命令,就可以构建出 a.out 这个可执行文件了。 • 和直接用一个脚本写出完整的构建过程相比, make 指明依赖关系的好处: 1. 当更新了 hello.cpp 时只会重新编译 hello.o ,而不需要把 2. 能够自动并行地发起对 hello.cpp 和 main.cpp 的编译,加快编译速度( make -j )。 3. 用通配符批量生成构建规则,避免针对每个 .cpp 和 .o 重复写 g++ 命令( %.o: %.cpp )。 • 但坏处也很明显: 1. make 在 Unix 类系统上是通用的,但在 Windows 则不然。 2. 需要准确地指明每个项目之间的依赖关系,有头文件时特别头疼。0 码力 | 32 页 | 11.40 MB | 1 年前3
GPU Resource Management On JDOS常规的容器服务 ,使用 gpu 的 zone , 自行设定相应的镜像即 可,有完善的周边服务 训练服务 • 提供基于 kubeflow 的分布式训练方案 – 界面化操作,用户提供代码地址和执行命令即可 – 系统内建支持安装 pip 依赖 – 自制存储插件支持分布式文件系统存储用户数据 – 支持官方镜像,不需要 JDOS 提前协助制作镜像 – 提供 tensorboard 作为训练监控实时查看训练状态 – Job 调度 (部门 quota 限制 + 优先级) • 创建训练 – 用户选择集群提供代码地址和执行命令即可 – 选择所用框架(镜像):支持官方,亦可自制 (提供 dockerfile 生成镜像服务) – 选择存储来源:对接了内部的存储 – 填写代码地址,执行的命令等 – 可以选择是否监控训练,提供 tensorboard 任务列表 可以指定 git 的 commit-id0 码力 | 11 页 | 13.40 MB | 1 年前3
共 17 条
- 1
- 2













