Making Libraries Consumable for Non-C++ Developers
/* Opens the device with name ‘dev’. On failure to open, returns SIZE_MAX. */ size_t open_device(char const* dev); size_t open_device(std::wstring_view const dev); The types char and wchar_t do has memory implications. More on that later.What assumptions are being made? void get_size(size_t dev, long* size); Non-C/C++ language. Caller of get_size(). C/C++ binary. Provides get_size(). gcc struct data_t { int a; int b; }; /* Get data from device ‘dev’. */ data_t get_data_from(size_t dev); What defines how dev is passed or data_t is returned? Calling conventions… sigh. Which0 码力 | 29 页 | 1.21 MB | 5 月前3Introduction to Mobile UI Test Automation
test your mobile apps? Usual Excuses Not enough time No appropriate tools Agenda nativescript-dev-appium: Installation Configuration Demo Benefits Drawbacks Our Story Requirements Do not reinvent support Image comparison Device management Reporting nativescript-dev-appium Installation npm install nativescript-dev-appium --save-dev npm install -g appium -wd -tslib(async/await) -mocha -typings Relies on Appium team for supporting new OS versions BRACE YOURSELVES AUTUMN IS HERE nativescript-dev-appium@3.0.0 Where We Are Where We Are Continuous Integration system scales greatly Aware of issues0 码力 | 41 页 | 4.75 MB | 1 年前3Zadig 产品使用手册
面向角色 功能描述 工作流名称样例 具体配置 开发工程师 CI 过程 project-unit-test project-scan • 单元测试、代码扫描 更新日常开发环境及 dev 业务配 置 project-dev-workflow • 构建、配置变更( Apollo/Nacos )、数 据变更、部署、冒烟测试、项目管理任务 变更 测试工程师 更新测试验证环境 project-sit-workflow 据变更、部署生产环境(变量变更、模板 变更)、场景测试 管理员 ( 运维 ) 准备——工作 流 管理员 ( 运维 ) 准备——工作 流 面向角色 环境描述 环境名称样例 场景介绍 开发工程师 用于日常开发、联调 dev 如果 Java 栈实现灰度能力,可以通过新建环境随时拉 起开发自测子环境 如果采用 Istio + Skywalking 技术栈,通过 Zadig 开启自测模式随时拉起子环境 测试工程师 用于测试手工验证 自动触发 dev 工作流执行 步骤包含: dev 环境构建 -> 部署 -> 冒烟测试 ->IM 通知 Sprint 发布 测试验证 变更发布 产品规划 需求开发 Sprint 发布 测试验证 变更发布 产品规划 多人做集成联调——更新不同服务 启动 dev 工作流,选择多个服务和对应的 MR 执行 需求开发 多人做集成联调——更新同一个服务 启动 dev 工作流,选择多个服务以及其对应的多个0 码力 | 52 页 | 22.95 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
CMake 指令的行为。 此外,你还可以通过 3.15...3.20 来表示最高版本不超过 3.20 。 这会对 cmake_policy 有所影响,稍后再提。 https://runebook.dev/zh-CN/docs/cmake/command/cmake_minimum_required#policy-settings https://blog.csdn.net/fuyajun01/a 改进: mylib 作为一个对象库 https://www.scivision.dev/cmake-object-libraries/ 对象库类似于静态库,但不生成 .a 文件,只由 CMake 记住该库生成了哪些对象文件 改进: mylib 作为一个对象库 https://www.scivision.dev/cmake-object-libraries/ 对象库类似于静态库,但不生成 message(WARNING “...”) 表示是警告信息 message(AUTHOR_WARNING “...”) 表示是仅仅给项目作者看的警 告信息 AUTHOR_WARNING 的不同之处:可以通过 -Wno-dev 关闭 message(FATAL_ERROR “...”) 表示是错误信息,会终止 CMake 的 运行 message(SEND_ERROR “...”) 表示是错误信息,但之后的语句仍继续0 码力 | 166 页 | 6.54 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程
device_vector 和 host_vector 之间拷贝数据,他会自动帮 你调用 cudaMemcpy ,非常智能。 • 比如这里的 x_dev = x_host 会把 CPU 内存中的 x_host 拷贝到 GPU 的 x_dev 上。 TODO :解释什么是迭代器 模板函数: thrust::generate • thrust 提供了很多类似于标准库里的模板 函数,比如 上执行的,用于 device_vector 时则是在 GPU 上执行的。 • 看右边,这就是为什么我们用于 x_host 那 个 for_each 的 lambda 没有修饰,而用于 x_dev 的那个 lambda 需要修饰 __device__ 。 for_each 用于整数的循环: counting_iterator • 可以用 thrust::make_counting_iterator(num) Taichi 的 for 处理二维、三维数据的 stencil 时会比较低效。因为他们根本就不 考虑循环分块的! 胡渊鸣的 Taichi 编程语言: github.com/taichi-dev/taichi 使用共享内存 • 刚刚那样的话对 in 的读取是存在跨步的,而 GPU 喜欢连续的顺序读取,这样跨步就不高效 了。 • 但是因为我们的目的是做矩阵转置,无论是 in 还是 out0 码力 | 142 页 | 13.52 MB | 1 年前3Harbor Deep Dive - Open source trusted cloud native registry
@Project_harbor Slack: #harbor/#harbor-dev (register via slack.cncf.io) Email group :( Refer README on GitHub for the subscription way ) harbor-users@googlegroups.com harbor-dev@googlegroups.com WeChat group:0 码力 | 15 页 | 8.40 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起
GPU 专题) 关于作者 • 我是 Taichi 编译器的贡献者之一( https://github.com/taichi-dev/taichi ) 关于作者(续) • 我是 Taichi Blend 的作者( https://github.com/taichi-dev/taichi_blend ) 关于作者(再续) • 主导 Zeno 节点仿真框架的开发( https://github.com/zenustech/zeno0 码力 | 32 页 | 11.40 MB | 1 年前3Zadig 面向开发者的云原生 DevOps 平台
+ 服务 Chart 配 置) • Rancher 部署 分支策略: • feature -> develop/release -> master 环境策略: • 三套环境( dev 、 qa 、 prod ) 现状:基于 GitLab + Helm Chart 模版 + 多套 values 方 案 一 : G e r r i t + Z a d i 完备的权限控制,极大降低了管理成本,实现安全风险可控。 IoT 端云混合场景:异构环境下,为开发者提供更好体验 Helm 场景接入服务 • 环境随时取用 :在 Zadig 上一键创建 dev 和 staging 环境,在不 同的集群上随时几分钟复制环境,随时满足自测需求 • 日常开发过程更便利 :直接在 Zadig 上查看服务的状态、服务日 志、登录到容器中排查诊断问题,减少多平台切换0 码力 | 59 页 | 81.43 MB | 1 年前3Learning by Contributing to Rust Compiler - 陈于康
delimiter pairs Aha Moment! It's sad, but we need to remove feature We care about performance and dev experience • A lot of fun! A lot of open-source experience • 2023 Rust Foundation Project Grants0 码力 | 23 页 | 3.28 MB | 1 年前3THE FIRST EXPLORATION OF PROJECT SPARROW
(ISBN: 9787115544384) Pure software developmement for ~15 years(~11 years on Mobile dev) Actively participating Open Source Communities: https://github.com/XianBei0 码力 | 68 页 | 13.14 MB | 1 年前3
共 11 条
- 1
- 2