测试
使用 Volcano 运行 hccl-test
· ☕ 2 分钟
1. 制作 hccl-test 镜像 下载依赖包 Python-3.8.18.tgz Ascend-cann-toolkit_8.0.RC2_linux-x86_64.run Ascend-cann-kernels-910b_8.0.RC2_linux.run mpich-3.2.1.tar.gz 如果不方便下载,也可以直接从我打包的镜像中拷贝出来。 编写 Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 FROM ubuntu:22.04 WORKDIR /home RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' /etc/apt/apt.conf.d/docker-clean RUN apt-get update && apt-get install

使用 Volcano 运行 nccl-test
· ☕ 2 分钟
1. 制作 nccl-test 镜像 查看 CUDA 版本 1 2 3 nvidia-smi | grep "CUDA Version" | awk '{print $9}' 12.2 编写 Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat > Dockerfile << EOF FROM hubimage/nvidia-cuda:12.1.0-cudnn8-devel-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive ARG CONDA_VERSION WORKDIR /workspace ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt install -y openmpi-bin libopenmpi-dev ssh openssh-server net-tools vim git iputils-ping nfs-common RUN git clone https://github.com/NVIDIA/nccl-tests.git && \ cd nccl-tests && \ make MPI=1 MPI_HOME=/usr/lib/x86_64-linux-gnu/openmpi EOF 编译 nccl-test 镜像 1 docker build -t hubimage/nccl-test:12.1.0-ubuntu22.04 -f Dockerfile . 推送 nccl-test 镜像 1 docker push hubimage/nccl-test:12.1.0-ubuntu22.04 2. 运行 Volcano Job 给测试节点打

Kubernetes 动态创建 Jenkins Agent 压力测试
· ☕ 7 分钟
前面的文档中,我们利用 Kubernetes 提供的弹性,在 Kubernetes 上动态创建 Jenkins Slave 。本篇文档主要是对 Jenkins 进行大规模构建的压力测试。 1. 集群配置 1.1 Kubernetes 版本 这里使用的是 v1.16.7 1 2 3 4 kubectl version Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCommit:"be3d344ed06bff7a4fc60656200a93c74f31f9a4", GitTreeState:"clean", BuildDate:"2020-02-11T19:34:02Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCommit:"be3d344ed06bff7a4fc60656200a93c74f31f9a4", GitTreeState:"clean", BuildDate:"2020-02-11T19:24:46Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"} 1.2 节点数量 集群节点总数, 16 个 1 2 3 kubectl get node |grep "Ready" | wc -l 16

基于 Kubernetes 和 Jenkins 搭建自动化测试系统
· ☕ 4 分钟
1. 测试分层 测试的目的是为了验证预期的功能,发现潜在的缺陷。测试增强了交付合格产品的信心,也给敏捷迭代带来了可能。可以说,测试决定了产品的开发进度。 网络模型有七层的 OSI 、四层的 TCP,而开发模式有 MTV、MVC、MVP、MVVM 等。高内聚、低耦

敏捷开发之研发流程
· ☕ 3 分钟
1. 敏捷开发是什么 在传统的软件研发模型中,从提出需求到最后交付,时间周期较长。瀑布模型遵循需求分析、设计、编码、集成、测试、维护六个步骤进行。一旦需求发生变化,不仅浪费前期投入,还不易于调整。 敏捷开发是一种应对快速变化的需求的软件开发能力。特