首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏DevOps时代的专栏

    6 张图带你搞懂 CICD 流水线

    通过 CI/CD 流水线,软件研发可以实现从代码签入、测试、构建和部署直至生产阶段都在流水线中向前推进。 此概念之所以高大上,是因为一旦实施了流水线,就可以将其部分或全部自动化,从而加快开发流程并减少错误。 换句话说,CI/CD流水线使企业可以更轻松地应对软件的自动、快速、持续交付。 DevOps 工程师经常会将 CI/CD 各阶段的和其 CI/CD 流水线混淆。 将额外的策略检查加入自动化流水线中可以显著减少流程中稍后发现的错误数量。 在单个更新被转移到下一阶段的情况下,流水线可能将金丝雀测试加入作为可选。

    17.6K53发布于 2021-10-13
  • 来自专栏罗西的思考

    PyTorch 流水线并行实现 (6)--并行计算

    [源码解析] PyTorch 流水线并行实现 (6)--并行计算 目录 [源码解析] PyTorch 流水线并行实现 (6)--并行计算 0x00 摘要 0x01 总体架构 1.1 使用 1.2 前向传播 流水线并行其他文章链接如下: [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 [源码解析] 深度学习流水线并行GPipe (2) ----- 梯度累积 [源码解析] 深度学习流水线并行 ] 深度学习流水线并行 PipeDream(3)--- 转换模型 [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 [源码解析] 深度学习流水线并行 PipeDream(5) --- 通信模块 [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略 [源码解析] PyTorch 流水线并行实现 (1)--基础知识 [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型 [源码解析] PyTorch 流水线并行实现 (3)--切分数据和运行时系统 [源码解析] PyTorch 流水线并行实现 (4)--前向计算 [源码解析] PyTorch 流水线并行实现

    2K20发布于 2021-10-13
  • 来自专栏罗西的思考

    深度学习流水线并行 PipeDream(6)--- 1F1B策略

    [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略 目录 [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略 0x00 摘要 0x01 流水线比较 1.1 普通流水线 1.2 Gpipe流水线 1.3 1F1B流水线 1.3.1 思路 1.3.2 图示 0x02 PipeDream 实现 2.1 总体逻辑 2.2 权重问题 2.3 Weight 流水线并行其他文章链接如下: [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 [源码解析] 深度学习流水线并行GPipe (2) ----- 梯度累积 [源码解析] 深度学习流水线并行 --- 通信模块 0x01 流水线比较 首先,我们比较一下目前分析过的各个流水线。 此时的 minibatch 6 的前向和图上未标出的绿色后向都应该基于 新版本的 weight 2 计算,因此需要记录下来 新版本 W_2^{(2)} 。

    1.1K30发布于 2021-09-23
  • 来自专栏小白AI.易名

    3天学会Jenkins_6_管道或流水线教程之Jenkinsfile示例

    转载注明出处 1 什么是Jenkins管道(流水线) 以下管道和流水线为同指一个概念。 在Jenkins中,管道(Pipeline)是一组事件或任务,它们按顺序相互链接。 管道具有可扩展的自动化服务器,用于通过管道DSL(特定领域语言)“作为代码”创建简单或复杂的交付管道,即将所有子任务进行流水线化。 你可以运行多个任务(job),甚至可以在循环中使用管道 6 Jenkins管道相关概念 Jenkins 安装和运行的地方,它负责解析 job 脚本,处理任务,调度计算资源 其他常用概念和语法(以声明式方式

    5.5K20发布于 2019-12-23
  • 来自专栏程序员

    流水线、超流水线、超标量(superscalar)技术对比

    市场上推出的各种不同的1 6位/ 3 2位微处理器基本上都采用了流水线技术。如8 0 4 8 6和P e n t i u m均使用了6步流水线结构,流水线的6步为: ( 1 ) 取指令。 ( 6 ) 存储或"写回"结果。最后运算结果存放至某一内存单元或写回累加器A。 在理想情况下,每步需要一个时钟周期。 因此,在1 6位/3 2位微处理器中一般含有两个算术逻辑单元A L U,一个主A L U用于执行指令,另一个A L U专用于地址生成,这样才可使地址计算与其它操作重叠进行。 超流水线 超级流水线以增加流水线级数的方法来缩短机器周期,相同的时间内超级流水线执行了更多的机器指令。 技术其实质就是SIMD,这使K6-2处理器在音频解码、视频回放、3D游戏等应用中显示出优异性能。

    7K31发布于 2020-08-17
  • 来自专栏用户9379187的专栏

    Jenkins流水线

    一、Jenkins流水线任务介绍之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。 二、 Jenkins流水线任务1. 构建Jenkins流水线任务 构建任务 构建Jenkins流水线任务 生成Groovy脚本 Hello World脚本生成 构建后查看视图 构建后查看视图2. 每次构建会自动拉取项目并且获取项目中Jenkinsfile文件对项目进行构建 配置pipeline 配置pipeline 准备Jenkinsfile 准备Jenkinsfile文件 测试效果 测试效果三、Jenkins流水线任务实现 拉取Git代码通过流水线语法生成Checkout代码的脚本语法生成pipeline { agent any stages { stage('拉取Git代码') {

    1.2K21编辑于 2022-08-24
  • 来自专栏linux技术

    jenkins流水线搭建

    获取初始管理员密码 [root@localhost ~]# cat /mydata/jenkins_home/secrets/initialAdminPassword bd5b64c7c8c8467985a0faa6fbe1848f 目录下的所有配置都添加到Nacos中 Nacos访问地址:http://1.1.1.4:8848/nacos/ 账号密码:nacos / nacos 需要上传的配置 上传配置 全部上传完成 6.

    1.8K30编辑于 2023-03-17
  • 来自专栏格物致知

    CPU流水线详解

    好,我们回到上例,厂商打算在此3级流水线上生产6辆汽车,流水线周期为12s(流水线的周期选取可参看上文),模拟流程如图1,从图上可以看到,6辆汽车一共花费了9-1=8个周期,此结果也印证了上文n个任务总共需花费 “k+(n-1)”个周期的公式,此3级流水线生产6辆汽车一共花费的时间是12*8=96s。 一段时间后,厂商决定进行技术改革,又把车轮生产线车门生产线以及组装生产线进一步细分,把流水线的级数由3条增至6条,改革后的6级流水线周期也从12s缩短至6s,(由于细分了各级流水线,所以在此假设每级流水线周期也由原来的 8s,12s,10s减半,所以新流水线的周期选取为12s/2s=6s),新流水线生产6辆汽车所花费的周期为12-1=11,所花费的整体时间为11*6=66s,相对于上例的96s提升了30s,至此,我们已从理论上和实际上找到了增加流水线级数确实可以提高工作效率的依据 2增加流水线级数为什么能提升工作效率 我们对车辆1进行跟踪测试,其在3级流水线上的生产时间为8s+12s+10s=30s,同样是车辆1在6级流水线上的生产时间为4s+4s+6s+6s+5s+5s=

    88030编辑于 2022-08-19
  • 来自专栏罗西的思考

    深度学习流水线并行Gpipe(1)---流水线基本实现

    [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 目录 [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 0x00 摘要 0x01 概述 1.1 什么是GPipe 但是流水线并行依然有一些问题: 显存效率:流水线并行减少的显存与流水线的阶段数成正比,使模型的大小可以随 worker 的数量线性扩展。但是,流水线并行不会减少每一层的激活函数的显存占用量。 __init__( Bottleneck, [3, 4, 6, 3], num_classes=num_classes, *args, **kwargs) self.seq1 5.2.4 临时缓冲区 临时缓冲区是用于存储临时结果的缓冲区,例如,对于参数为15亿的GPT-2模型, fp32缓冲区将需要6GB的内存。 ---------+ +------------+ +-------------+ | | | sub-layer 1 | |sub-layer 3 | | sub-layer 6

    2.1K20发布于 2021-08-24
  • 来自专栏程序员

    流水线、超流水线、超标量(superscalar)技术对比(转)

    市场上推出的各种不同的1 6位/ 3 2位微处理器基本上都采用了流水线技术。如8 0 4 8 6和P e n t i u m均使用了6步流水线结构,流水线的6步为: ( 1 ) 取指令。 ( 6 ) 存储或"写回"结果。最后运算结果存放至某一内存单元或写回累加器A。 在理想情况下,每步需要一个时钟周期。 因此,在1 6位/3 2位微处理器中一般含有两个算术逻辑单元A L U,一个主A L U用于执行指令,另一个A L U专用于地址生成,这样才可使地址计算与其它操作重叠进行。 超流水线 超级流水线以增加流水线级数的方法来缩短机器周期,相同的时间内超级流水线执行了更多的机器指令。 技术其实质就是SIMD,这使K6-2处理器在音频解码、视频回放、3D游戏等应用中显示出优异性能。

    2.7K20发布于 2020-08-17
  • 来自专栏k8s技术圈

    创建 Tekton 流水线

    前面我们创建的两个任务 test 和 build-and-push 都已经完成了,我们还可以创建一个流水线来将这两个任务组织起来,形成一个流水线,这里就是我们要使用的 Pipeline 这个 CRD 对象 创建流水线 比如我们这里的流水线流程为先运行 test 任务,如果通过了再执行后面的 build-and-push 这个任务,那么我们可以创建一个名为 test-pipeline.yaml 的资源对象, created $ github kubectl get pods | grep test-pipelinerun test-pipelinerun-build-and-push-62g65-pod-6jqqf build-and-push] Sending build context to Docker daemon 154.1kB [build-and-push : build-and-push] Step 1/6 到这里我们就完成了使用 Tekton 创建 CI/CD 流水线的一个简单示例,不过这个示例还比较简单,接下来我们再通过一个稍微复杂点的应用来完成我们前面的 Jenkins 流水线。

    1.1K40发布于 2021-06-25
  • 来自专栏云云众生s

    KitOps将DevOps流水线转变为MLOps流水线

    在现有 DevOps 流水线旁边构建单独的 MLOps 流水线来管理这些方面会导致一些低效率: 重复工作:维护单独的流水线意味着为版本控制、部署和配置管理等任务重复工作。 想象一下为应用程序代码管理一个 DevOps 流水线,为训练好的模型、其依赖项和配置文件管理一个单独的 MLOps 流水线。这种冗余增加了开销,并在流水线之间引入了潜在的不一致性。 8B-instruct-f16 Meta Platforms llama3 11.4 GiB sha256:995b9e0f87ddcdcaa59803a08986409b6e4cf2f8b071b064bca21e4e801566a3 jozu-ai/llama3 8B-text-f16 Meta Platforms llama3 11.4 GiB sha256:6b5b4a82ba3a73f00248b4431db738217e1978e316b2d4514b1bb887a11a0d84 提高一致性:一个统一的流水线确保了整个应用程序和 ML 模型生命周期中版本控制和配置管理的一致性。这降低了因管理单独的流水线而产生的错误和不一致的风险。

    1.3K10编辑于 2024-06-24
  • 来自专栏编舟记

    流水线即代码

    说得烂俗点,流水线已经是 CI/CD 实践过程中的“最后一公里”,让流水线变成软件开发中的“一等公民”(即代码)是大势所趋、民心所向。 这些问题会在流水线的演化过程中恶化得越来越严重。一般来讲,除非不再使用,否则流水线不会保持一成不变。 流水线自举 小结 流水线即代码是个新概念,也就意味着我们还需要花时间去探索与之相关的实践,比如,调试和测试(既然是代码就需要测试)。 一旦有了这些实践,我们就可以把流水线本身作为产品放到流水线上运作起来,那时将会看到一种很好玩的现象——旧的流水线会构建并部署新流水线,完成流水线的自举 (pipeline bootstrap) 。 此外,当流水线成为代码,它在最终的交付物中必然占据一席之地,其潜在的价值还等待我们挖掘,至少从精益的角度,流水线能做的事情还有很多。

    94930发布于 2018-08-17
  • 来自专栏希里安

    流水线使用浅谈

    ## jenkins和gitlab-ci 有读者有疑惑,为什么先用gitlab-ci而不是jenkins,我这里就来简单对比下,gitlab的流水线和jenkins的流水线。 1. 与源码管理的结合: - GitLab CI:原生集成了Git,非常易于与GitLab仓库结合,可以自动检测仓库更改并运行流水线。 总之个人开发者或者小团队来讲可以选择gitlab的流水线足够使用,而规模大一点就根据实际选择gitlab或者jenkins流水线,结合使用。 所以,我们可以在同一个CI/CD流水线中,使用shell执行器构建应用,使用docker执行器部署应用。 如果一个Runner的job队列太长,可以注册更多Runner来提高CI流水线的处理能力。 . 不同机器资源。

    90510编辑于 2023-10-30
  • 来自专栏新亮笔记

    部署流水线解析

    什么是部署流水线 部署流水线是指软件从版本控制库到用户手中这一过程的自动化表现形式。 流水线的输入是版本控制中的某个具体版本。 部署流水线的相关实践 只生成一次二进制包; 对不同环境采用同一部署方式; 对部署进行冒烟测试; 向生产环境的副本中部署; 每次变更都要立即在流水线中传递; 只要有环节失败,就停止整个流水线; 提交阶段 每次提交都生成部署流水线的一个新实例。 缓解这类风险非常简单,只要把这个发布环节视为部署流水线的一个自然结果就行。 实现一个部署流水线 无论是从零创建新项目,还是想为已有的系统创建一个自动化的流水线,通常都应该使用增量方法来实现部署流水线。

    78830编辑于 2022-05-17
  • 来自专栏用户7873631的专栏

    go 流水线模式

    out1:=make(chan int)//创建一个新的int类型的无缓冲的通道.用于存储处理后的数据 go func(){ for v:=range in{ out1<-v+6//把in通道内的数据每一个 (out1)//全部+1后,关闭out通道. }() for v:=range out1{ fmt.Println(v) } } 解释: ,可以看到有两个goroutine构成了一个简单的流水线 第一个goroutine负责生成0到9这些数字并发送到out通道中,第二个goroutine接收out通道中的数据,对每个数据加6后发送到out1通道中。

    26910编辑于 2024-03-24
  • 来自专栏瓜大三哥

    HLS应用流水线

    主要对于FOR循环进行优化

    74460发布于 2018-02-26
  • 来自专栏ThoughtWorks

    流水线即代码|洞见

    说得烂俗点,流水线已经是CI/CD实践过程中的“最后一公里”,让流水线变成软件开发中的“一等公民”(即代码)是大势所趋、民心所向。 ? 这些问题会在流水线的演化过程中恶化得越来越严重。 一般来讲,除非不再使用,否则流水线不会保持一成不变。 发布分支是主干分支某个时刻分出去的,它需要在那时的流水线上才能正常工作。由于前面所说雪花服务器的特征,重建这样一条流水线并不是一件容易的事情。 如何解决 其实,流水线即代码本身已经回答了这个问题。 一旦有了这些实践,我们就可以把流水线本身作为产品放到流水线上运作起来,那时将会看到一种很好玩的现象——旧的流水线会构建并部署新流水线,发生上文所说自举(bootstraping)现象,这也表明流水线是不断进化的 此外,当流水线成为代码,它在最终的交付物中必然占据一席之地,其潜在的价值还等待我们挖掘,至少从精益的角度,流水线能做的事情还有很多。

    1.7K50发布于 2018-04-13
  • 来自专栏shigen的学习笔记

    CICD流水线实战

    先分享一下shigen的学习视频资源:CICD流水线实战git分布式版本控制器。gitlab可以创建私人的仓库,github私有仓库需要付费。SVN 不推荐! 最后,总结一下jenkins的自动化流程的步骤:图片pipline流水线参考文章:pipeline流水线以上就是shigen最近几天学习的成果,关于CICD流水线实战的全部内容。

    98620编辑于 2023-08-15
  • 来自专栏workbuddy企业落地实战

    一个人+6个AI员工,我把“视频带货”做成了流水线

    屏幕里没有人,几张图轮着换,一个温温的声音在讲一本养生书。底下小黄车挂着那本书,卖了几千本。

    25310编辑于 2026-09-11
领券