tongchenkeji 发表于:2023-4-9 15:16:040次点击 已关注取消关注 关注 私信 使用Serverless Devs怎样创建GPU函数?[阿里云函数计算] 暂停朗读为您朗读 使用Serverless Devs怎样创建GPU函数? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 函数计算# GPU云服务器176# Serverless2886# 函数计算2686# 异构计算156
vohelonAM 2023-11-27 21:29:17 1 可以使用Serverless Devs提供的GPU函数模板来创建GPU函数。具体操作步骤为:在命令行中执行以下命令创建GPU函数模板: s init template --template-url https://github.com/devsapp/fc-gpu-demo 然后,在模板目录中执行以下命令部署GPU函数: s deploy 在部署过程中,您需要选择GPU实例类型和GPU数量。部署完成后,您可以通过调用函数API来测试GPU函数。注意,GPU函数的运行需要在支持GPU的实例上运行,例如阿里云的ECS GPU实例。
凌云CloudAM 2023-11-27 21:29:17 2 第一步,如何创建GPU实例 函数计算提供的实例类型包含弹性实例和GPU实例,在函数计算资源包中购买GPU资源包。 第二步,如何使用GPU实例 参考文档
HaydenGuoAM 2023-11-27 21:29:17 4 可以按以下步骤进行: 1. 确认你的账户已开通FunctionCompute GPU实例权限,如果没有,请联系阿里云客服申请。 2. 安装Serverless Devs工具,使用 s init devsapp 命令初始化一个Serverless应用,并进入应用根目录。 3. 在应用根目录下执行 s deploy 部署应用,确保应用部署成功。 4. 在应用根目录下新建一个函数对象,命名为gpu-func,然后在函数对象中指定GPU配置。 functions: gpu-func: runtime: python3.6 handler: index.handler memorySize: 2048 gpu: type: NVIDIA 5. 在函数代码中使用CUDA API,可以通过nvidia-smi来测试GPU是否可以使用。 例如在Python代码中导入CUDA库并执行加法计算: import numpy as npimport pycuda.driver as cudaimport pycuda.autoinitfrom pycuda.compiler import SourceModulemod = SourceModule(""" __global__ void add(int *a, int *b, int *c){ int i = threadIdx.x; c[i] = a[i] + b[i]; } """)a = np.array([1, 2, 3], np.int32)b = np.array([4, 5, 6], np.int32)c = np.zeros_like(a)add = mod.get_function("add")add(cuda.In(a), cuda.In(b), cuda.Out(c), block=(3, 1, 1))print(c) 6. 部署函数,并通过SLB或API网关进行访问。 通过Serverless Devs创建GPU函数的过程就是这样,需要注意的是,在使用GPU函数时,需要确保您的函数代码和依赖项在GPU实例上可以正常运行,同时也需要注意GPU实例的资源限制。
飞云觅宙AM 2023-11-27 21:29:17 5 您可以通过函数计算控制台、SDK或Serverless Devs来体验GPU实例的最佳实践。 传统的面向人工智能应用的GPU基础设施,通常会面临着建设周期长、运维复杂度高、集群利用率低和成本较高等问题。函数计算的GPU实例将这些问题从用户侧转移至云厂商侧,让您无需关心底层GPU基础设施,完全聚焦于业务本身,极大地简化了业务的实现路径。 在不同的应用场景下,函数计算提供的GPU实例与CPU相比所具备的优势如下。 成本优先的AI应用场景 提供弹性预留模式,从而按需为客户保留GPU工作实例,对比自建GPU集群拥有较大成本优势。 提供GPU共享虚拟化,支持以1/2、独占方式使用GPU,允许业务以更精细化的方式配置GPU实例。 效率优先的AI应用场景 屏蔽运维GPU集群的繁重负担(驱动/CUDA版本管理、机器运行管理、GPU坏卡管理),使得开发者专注于代码开发、聚焦业务目标的达成。 你可以先加入钉钉用户群(钉钉群号:11721331),申请GPU实例的使用权限,确保您的业务正常进行。 申请GPU实例的使用权限,同时提供以下信息。 组织名称,例如您所在的公司名称。 您的阿里云账号ID。 您期望使用GPU实例的地域,例如华南1(深圳)。 联系方式,例如您的手机号、邮箱或钉钉账号等。 您的镜像大小。 将需处理的音视频资源上传至在GPU实例所在地域的OSS Bucket中,且您对该Bucket中的文件有读写权限。 仅适用于通过ServerlessDevs部署GPU应用 在GPU实例所在地域,完成以下操作: 创建容器镜像服务的企业版实例或个人版实例,推荐您创建企业版实例。具体操作步骤,请参见创建企业版实例。 创建命名空间镜像仓库。具体操作步骤,请参见步骤二:创建命名空间和步骤三:创建镜像仓库。 安装Serverless Devs和Docker 配置Serverless Devs 通过ServerlessDevs部署GPU应用 创建项目。进入项目所在目录。 按实际情况修改目录文件的参数配置。 编辑s.yaml文件。 YAML文件的参数详解, 编辑app.py文件。 编辑Dockerfile文件。 构建镜像。 部署代码至函数计算。说明 服务名称和函数名称不变,重复执行以上命令时,请选择本地配置,即use local。 配置预留模式的实例。 查询预留模式的实例是否就绪。 如果查询到current参数为1,则说明GPU实例的预留模式已就绪, 调用函数。 查看线上函数版本 执行风格迁移,释放GPU实例。 通过函数计算控制台部署GPU应用 部署镜像。 建容器镜像服务的企业版实例或个人版实例。 推荐您创建企业版实例。 创建命名空间和镜像仓库。 在容器镜像服务控制台,根据界面提示完成Docker相关操作步骤。然后将上述示例app.py和Dockerfile推送至实例镜像仓库,文件信息,请参见通过ServerlessDevs部署GPU应用时/code目录中的app.py和Dockerfile。 创建服务。具体操作步骤,请参见创建服务。 创建函数。具体操作步骤,请参见创建Custom Container函数。 说明 实例类型选择GPU实例,请求处理程序类型选择处理 HTTP 请求。 修改函数的执行超时时间。 单击目标服务下目标函数右侧操作列的配置。 在环境信息区域,修改执行超时时间,然后单击保存。 CPU转码耗时会超过默认的60s,因此建议您修改执行超时时间为较大的值。 配置GPU预留实例。 在函数详情页面,单击弹性管理页签,然后单击创建规则。 在创建弹性伸缩限制规则页面,按需配置参数,预留GPU实例,然后单击创建。 关于配置预留实例的具体操作,请参见配置预留实例。 配置完成后,您可以在规则列表查看预留的GPU实例是否就绪。即当前预留实例数是否为设置的预留实例数。 使用cURL测试函数。 在函数详情页面,单击触发器管理页签,查看触发器的配置信息,获取触发器的访问地址。 在命令行执行如下命令,调用GPU函数。
芬奇福贵AM 2023-11-27 21:29:17 6 fork 一份到自己仓库试试 https://github.com/VineFiner/stable-diffusion-web 此答案来自钉钉群“阿里函数计算官网客户”
可以使用Serverless Devs提供的GPU函数模板来创建GPU函数。具体操作步骤为:在命令行中执行以下命令创建GPU函数模板:
然后,在模板目录中执行以下命令部署GPU函数:
在部署过程中,您需要选择GPU实例类型和GPU数量。部署完成后,您可以通过调用函数API来测试GPU函数。注意,GPU函数的运行需要在支持GPU的实例上运行,例如阿里云的ECS GPU实例。
第一步,如何创建GPU实例 函数计算提供的实例类型包含弹性实例和GPU实例,在函数计算资源包中购买GPU资源包。
第二步,如何使用GPU实例 参考文档
参考阿里云文档
1. 确认你的账户已开通FunctionCompute GPU实例权限,如果没有,请联系阿里云客服申请。
2. 安装Serverless Devs工具,使用
s init devsapp
命令初始化一个Serverless应用,并进入应用根目录。3. 在应用根目录下执行
s deploy
部署应用,确保应用部署成功。4. 在应用根目录下新建一个函数对象,命名为
gpu-func
,然后在函数对象中指定GPU配置。5. 在函数代码中使用CUDA API,可以通过
nvidia-smi
来测试GPU是否可以使用。6. 部署函数,并通过SLB或API网关进行访问。
您可以通过函数计算控制台、SDK或Serverless Devs来体验GPU实例的最佳实践。
传统的面向人工智能应用的GPU基础设施,通常会面临着建设周期长、运维复杂度高、集群利用率低和成本较高等问题。函数计算的GPU实例将这些问题从用户侧转移至云厂商侧,让您无需关心底层GPU基础设施,完全聚焦于业务本身,极大地简化了业务的实现路径。
在不同的应用场景下,函数计算提供的GPU实例与CPU相比所具备的优势如下。
成本优先的AI应用场景 提供弹性预留模式,从而按需为客户保留GPU工作实例,对比自建GPU集群拥有较大成本优势。 提供GPU共享虚拟化,支持以1/2、独占方式使用GPU,允许业务以更精细化的方式配置GPU实例。 效率优先的AI应用场景 屏蔽运维GPU集群的繁重负担(驱动/CUDA版本管理、机器运行管理、GPU坏卡管理),使得开发者专注于代码开发、聚焦业务目标的达成。
你可以先加入钉钉用户群(钉钉群号:11721331),申请GPU实例的使用权限,确保您的业务正常进行。
申请GPU实例的使用权限,同时提供以下信息。 组织名称,例如您所在的公司名称。 您的阿里云账号ID。 您期望使用GPU实例的地域,例如华南1(深圳)。 联系方式,例如您的手机号、邮箱或钉钉账号等。 您的镜像大小。 将需处理的音视频资源上传至在GPU实例所在地域的OSS Bucket中,且您对该Bucket中的文件有读写权限。
仅适用于通过ServerlessDevs部署GPU应用 在GPU实例所在地域,完成以下操作: 创建容器镜像服务的企业版实例或个人版实例,推荐您创建企业版实例。具体操作步骤,请参见创建企业版实例。 创建命名空间镜像仓库。具体操作步骤,请参见步骤二:创建命名空间和步骤三:创建镜像仓库。
安装Serverless Devs和Docker
配置Serverless Devs
通过ServerlessDevs部署GPU应用 创建项目。进入项目所在目录。
按实际情况修改目录文件的参数配置。 编辑s.yaml文件。 YAML文件的参数详解,
编辑app.py文件。
编辑Dockerfile文件。
构建镜像。
部署代码至函数计算。说明 服务名称和函数名称不变,重复执行以上命令时,请选择本地配置,即use local。
配置预留模式的实例。
查询预留模式的实例是否就绪。
如果查询到current参数为1,则说明GPU实例的预留模式已就绪,
调用函数。 查看线上函数版本
执行风格迁移,释放GPU实例。
通过函数计算控制台部署GPU应用
部署镜像。 建容器镜像服务的企业版实例或个人版实例。 推荐您创建企业版实例。
创建命名空间和镜像仓库。
在容器镜像服务控制台,根据界面提示完成Docker相关操作步骤。然后将上述示例app.py和Dockerfile推送至实例镜像仓库,文件信息,请参见通过ServerlessDevs部署GPU应用时/code目录中的app.py和Dockerfile。
创建服务。具体操作步骤,请参见创建服务。 创建函数。具体操作步骤,请参见创建Custom Container函数。 说明 实例类型选择GPU实例,请求处理程序类型选择处理 HTTP 请求。
修改函数的执行超时时间。 单击目标服务下目标函数右侧操作列的配置。 在环境信息区域,修改执行超时时间,然后单击保存。
CPU转码耗时会超过默认的60s,因此建议您修改执行超时时间为较大的值。 配置GPU预留实例。 在函数详情页面,单击弹性管理页签,然后单击创建规则。 在创建弹性伸缩限制规则页面,按需配置参数,预留GPU实例,然后单击创建。 关于配置预留实例的具体操作,请参见配置预留实例。
配置完成后,您可以在规则列表查看预留的GPU实例是否就绪。即当前预留实例数是否为设置的预留实例数。 使用cURL测试函数。 在函数详情页面,单击触发器管理页签,查看触发器的配置信息,获取触发器的访问地址。 在命令行执行如下命令,调用GPU函数。
fork 一份到自己仓库试试
https://github.com/VineFiner/stable-diffusion-web
此答案来自钉钉群“阿里函数计算官网客户”