[ PROMPT_NODE_26730 ]
resource-configuration
[ SKILL_DOCUMENTATION ]
# 资源配置
## 概述
Latch SDK 为工作流任务提供灵活的资源配置,支持在包括 CPU、GPU 和内存优化实例在内的适当计算基础设施上高效执行。
## 任务资源装饰器
### 标准装饰器
SDK 为常见的资源需求提供了预配置的任务装饰器:
#### @small_task
轻量级任务的默认配置:
python
from latch import small_task
@small_task
def lightweight_processing():
"""最小资源需求"""
pass
**使用场景:**
- 文件解析与操作
- 简单的数据转换
- 快速质控检查
- 元数据操作
#### @large_task
为密集型计算增加 CPU 和内存:
python
from latch import large_task
@large_task
def intensive_computation():
"""更高的 CPU 和内存分配"""
pass
**使用场景:**
- 大文件处理
- 复杂的统计分析
- 组装任务
- 多线程操作
#### @small_gpu_task
具有最小资源的 GPU 启用任务:
python
from latch import small_gpu_task
@small_gpu_task
def gpu_inference():
"""具有基础资源的 GPU 启用任务"""
pass
**使用场景:**
- 神经网络推理
- 小规模机器学习预测
- GPU 加速库
#### @large_gpu_task
具有最大资源的 GPU 启用任务:
python
from latch import large_gpu_task
@large_gpu_task
def gpu_training():
"""具有最大 CPU 和内存的 GPU"""
pass
**使用场景:**
- 深度学习模型训练
- 蛋白质结构预测 (AlphaFold)
- 大规模 GPU 计算
### 自定义任务配置
如需精确控制,请使用 `@custom_task` 装饰器:
python
from latch import custom_task
from latch.resources.tasks import TaskResources
@custom_task(
cpu=8,
memory=32, # GB
storage_gib=100,
timeout=3600, # 秒
)
def custom_processing():
"""具有自定义资源规格的任务"""
pass
#### 自定义任务参数
- **cpu**: CPU 核心数 (整数)
- **memory**: 内存 (GB, 整数)
- **storage_gib**: 临时存储 (GiB, 整数)
- **timeout**: 最大执行时间 (秒, 整数)
- **gpu**: GPU 数量 (整数,0 表示仅 CPU)
- **gpu_type**: 特定 GPU 型号 (字符串,例如 "nvidia-tesla-v100")
### 高级自定义配置
python
from latch.resources.tasks import TaskResources
@custom_task(
cpu=16,
memory=64,
storage_gib=500,
timeout=7200