
scientific-agent-skills 之 optimize-for-gpuRAPIDS 与 NVIDIA GPU 库选型决策框架实战指南【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南围绕optimize-for-gpu技能的核心决策框架展开该技能的目标是把是否上 GPU、该选哪个 GPU 库、怎么写变成一个有据可依的证据驱动流程。你将学会在动手改写前如何评估移植是否划算如何依据现有 CPU 代码形态NumPy、pandas、scikit-learn、NetworkX、scikit-image、仿真循环、文件 IO在 CuPy、Numba-CUDA、Warp、cuDF、cuML、cuGraph、KvikIO、cuCIM、cuVS、RAFT 之间做出正确选择以及哪些库已进入维护/归档状态cuxfilter、cuSpatial必须只做存量处理。全文以 决策框架文档 为主体并补充本仓库 SKILL.md、安装指南 与 代码转换模式 的源码级细节。先决条件先判断移植到 GPU本身是否成立在挑选任何库之前决策框架要求你先回答三个问题而不是直接替换 import建立端到端基线捕获代表性输入、期望输出与可接受的数值容差测量包含输入、传输、计算、输出的完整当前路径。先用 CPU 分析器确认真实瓶颈到底是计算、内存带宽、分配、传输、同步还是存储。估算峰值显存不仅看工作集大小还要把中间临时数组temporaries算进去。对于超出显存的 out-of-core 数据先估算峰值工作内存再决定是分块chunking、用 Dask 还是流式设计。识别传输与回退边界GPU 执行只有在热路径存在大量相互独立的工作、运行频率足以摊薄初始化与传输成本、且工作集加上临时数组能放进设备显存时才有意义。工作负载很小、高度串行、被不支持的操作主导、或需要频繁 host-device 往返时应保留 CPU 路径。决策框架还给出了一条优先级铁律先尝试加速器/后端模式cudf.pandas、cuml.accel、nx-cugraph再考虑原生库 API最后才轮到自定义 kernel——不要在一开始就投入自定义 kernel除非 profiling 已经排除了 CuPy 或其他调优库的可行性。同样不要仅仅为了用这些库而把 PyTorch/JAX/TensorFlow 里的代码搬出来应先消除 CPU 往返、用好框架自带的编译器、profiler、混合精度与批处理能力。选型总览从最小适配层开始SKILL.md 给出了一张现有负载 → 首选路径对照表与决策框架一一对应现有工作负载首选路径用途NumPy / SciPyCuPy数组、稀疏矩阵、线性代数、FFT、信号处理pandascudf.pandas再cuDF先加速器模式原生 API 获得更多控制scikit-learncuml.accel再cuML先加速器模式按需使用原生估计器NetworkXnx-cugraph再cuGraph先后端分发大规模用原生图 APIscikit-imagecuCIMGPU 图像处理与全切片影像Faiss / Annoy / k-NNcuVS精确与近似向量检索原始或远程文件 IOKvikIOGPU 缓冲区与 GPUDirect Storage自定义数组 kernel新项目Numba-CUDA-MLIR存量代码Numba-CUDA显式 SIMT kernel 与共享内存空间或可微 kernelWarp几何、仿真 kernel、机器人、自动微分高层物理仿真Newton取代已移除warp.sim模块的受维护引擎低层 RAPIDS 原语RAFTpylibraft稀疏特征值求解器、资源、多 GPU 构建块下文按决策框架的 12 个库逐一展开适用场景、反模式何时选它是错的与组合方式。CuPy面向数组/矩阵运算NumPy 替代当用户代码以以下内容为主时选择 CuPyNumPy 数组运算逐元素数学、线性代数、FFT、排序、归约SciPy 运算稀疏矩阵、信号处理、图像滤波、特殊函数任何链式 NumPy 调用——CuPy 是即插即用替代CuPy 封装了 NVIDIA 的优化库cuBLAS、cuFFT、cuSOLVER、cuSPARSE、cuRAND标准运算已经过调优。绝大多数 NumPy 代码只需把import numpy as np改成import cupy as cp即可运行cupy.md 中的示例# Before (CPU) import numpy as np a np.random.rand(10_000_000) b np.fft.fft(a) c np.sort(b.real) # After (GPU) import cupy as cp a cp.random.rand(10_000_000) b cp.fft.fft(a) c cp.sort(b.real)最适用线性代数、FFT、数组数学、图像处理、信号处理、基于数组运算的蒙特卡洛、任何 NumPy 重度工作流。从 cupy.md 还可以提炼出几个实操要点数据搬运cp.asarray(numpy_array)若已在当前设备则零拷贝cp.array()总是拷贝cp.asnumpy(gpu_array)/gpu_array.get()是 GPU→CPU 拷贝。注意cupy.ndarray与numpy.ndarray不可隐式转换每次转换都伴随一次 host-device 传输。CUDA/CPU 无关代码用cp.get_array_module(x)判断输入是 numpy 还是 cupy同一函数可同时跑 CPU 与 GPU。自定义 kernel 阶梯按cp.fuse()元素级融合→ElementwiseKernel自动索引与广播→ReductionKernel四段式 map/reduce/post-map→RawKernel完整 grid/block/shared memory 控制→RawModule大型 CUDA 代码库的顺序升级。决策树能用 NumPy 表达就用内置函数多个链式逐元素运算用cp.fuse()自定义逐元素用ElementwiseKernel自定义归约用ReductionKernel需要完整 SIMT 控制用RawKernel或cupyx.jit.rawkernel。内存池CuPy 默认启用内存池数组离开作用域后内存回到池中而非归还 OSnvidia-smi里仍显示已分配这是预期行为。可用mempool.free_all_blocks()释放用CUPY_GPU_MEMORY_LIMIT50%限制显存。与 NumPy 的行为差异归约返回 0 维数组而非标量用.item()取标量越界索引静默回绕而非抛IndexError重复索引赋值结果未定义GPU 竞态不支持字符串/对象 dtype。CUDA 类型映射float32→float、float64→double、int32→int、int64→long long、complex64→complexfloat、complex128→complexdouble、float16→half。Numba-CUDA-MLIR / Numba-CUDA面向自定义 GPU kernel当用户需要以下能力时选择这条路径无法映射为标准数组运算的自定义算法对 GPU 线程、块、共享内存的细粒度控制带自定义逻辑的归约模板计算stencil或依赖邻居的计算任何需要直接使用 CUDA 编程模型的场景新项目优先评估 Numba-CUDA-MLIRNVIDIA 新特性开发的所在既有numba.cuda代码、兼容性需求或 MLIR 实现尚缺的特性使用成熟的numba-cuda包——它在 CUDA 13 生命周期内处于维护模式。不要在没有 profiling 排除 CuPy 或其他调优库之前投入自定义 kernel。最适用自定义 kernel、粒子模拟、模板代码、自定义归约、需要共享内存的算法、任何复杂逐元素逻辑。numba.md 补充了关键实现细节执行层级Grid块集合→ Block线程组可共享片上内存并同步每块最多 1024 线程→ Thread。cuda.jit关键参数包括deviceTrue设备函数可返回值、fastmathTrue启用快速数学不要求 IEEE-754 严格性时使用、max_registers、cacheTrue、debugTrue配optFalse。启动语法kernelgrid_dim, block_dim, stream, dynamic_shared_mem_bytes第 3、4 参数可选。三条铁律kernel 不能返回值必须写入输出数组始终做边界检查if i array.sizekernel 启动是异步的读回结果前必须cuda.synchronize()。共享内存静态分配cuda.shared.array(N, dtype...)大小须编译期确定动态分配用size0并在启动时第 4 参数指定字节数同一 kernel 内多个cuda.shared.array(0, ...)共享同一块内存需手动切片。常用模式共享内存分块矩阵乘法tile、块内 Hillis-Steele 前缀和注意这是块内独立扫描完整跨块扫描还需扫描块和并叠加偏移若无自定义扫描算子优先用cupy.cumsum()/CUB、共享内存树状归约、带 halo 的 1D 模板计算。GPU 随机数create_xoroshiro128p_states创建每线程 RNG 状态配合 grid-stride loop 复用状态可降低显存占用。调试NUMBA_ENABLE_CUDASIM1在 CPU 上模拟 CUDA支持 print 与 pdbcuda.threadIdx.x 0 and cuda.blockIdx.x 0单线程断点。性能陷阱consumer GPUGeForcefloat64 吞吐常被限制到 float32 的 1/32共享内存有限、过多会降低 occupancysyncthreads()不能放进发散分支未定义行为。Warp面向仿真、空间计算与可微编程当用户代码以以下内容为主时选择 Warp物理仿真粒子、布料、流体、刚体、DEM、SPH几何处理网格操作、光线投射、符号距离场、marching cubes机器人学带变换与四元数的运动学、动力学、控制用于 ML 训练的可微仿真与 PyTorch/JAX autograd 集成任何需要 JIT 编译到 GPU 的 Python 仿真循环使用网格、体积NanoVDB、哈希网格或 BVH 查询的空间计算Warp 将wp.kernel修饰的 Python 函数 JIT 编译为 CUDA内置空间计算类型vec3、mat33、quat、transform与几何查询原语Mesh、Volume、HashGrid、BVH并能生成伴随adjointkernel 支持可微程序。注意高层warp.sim模块在 Warp 1.10 中已被移除受维护的高层刚体/机器人/仿真环境 API 改用独立的Newton引擎Warp 本身用于自定义 kernel 与领域原语。Warp vs Numba 的取舍两者都把 Python 编译为 CUDA但 Warp 提供更高级的空间类型vec3、quat、Mesh、Volume与自动微分Numba 提供原始 CUDA 控制共享内存、块/线程管理、原子操作。仿真/几何用 Warp通用自定义 kernel 用 Numba。warp.md 的实操要点Kernel 与启动wp.launch(kernel, dimn, inputs[...], devicecuda)支持 1D/2D/3Dwp.tid()取线程索引wp.func定义可返回多个值的设备函数wp.struct定义用户结构体。空间原语wp.Mesh三角形网格 BVH 光线投射/最近点查询更新顶点后用mesh.refit()重建 BVHwp.HashGrid粒子邻居查询wp.Volume基于 NanoVDB 的稀疏体素场wp.BvhAABB 查询wp.MarchingCubes等值面提取。可微编程参与梯度的数组须requires_gradTruewp.Tape记录前向并tape.backward(loss)反传tape.gradients[a]取梯度与 PyTorch autograd / JAX JIT 集成。性能重复启动同一序列 kernel 时用wp.ScopedCapture捕获 CUDA Graph 消除 Python 启动开销wp.tile_*平铺运算tile_matmul、tile_fft、tile_cholesky可降低全局流量与原子竞争但需实测对比。陷阱所有 kernel 参数必须类型标注kernel 内禁止 Python 列表/字典空间原语必须保持 Python 引用存活GC 掉持有.id的对象会导致崩溃autodiff 不支持原地数组修改。cuDF面向 DataFrame 运算pandas 替代当用户代码以以下内容为主时选择 cuDFpandas DataFrame 运算过滤、groupby、连接、聚合CSV/Parquet/JSON 读取与处理大数据集上的 ETL 流水线或数据整理任何能放进 GPU 显存的 pandas 重度工作流cuDF 的cudf.pandas加速器模式可以零代码改动加速现有 pandas 代码python -m cudf.pandas your_script.py追求极致性能时使用原生 cuDF API。在 code_transformation_patterns.md 中可见pandas 到 cuDF 往往也只是换 import# Before (CPU) import pandas as pd df pd.read_parquet(large_data.parquet) result df.groupby(category)[value].mean() # After (GPU) — change the import import cudf df cudf.read_parquet(large_data.parquet) result df.groupby(category)[value].mean() # Or zero-code-change: python -m cudf.pandas your_script.py最适用数据整理、ETL、groupby/聚合、连接、DataFrame 上的字符串处理、表格数据上的时间序列。cuML面向机器学习scikit-learn 替代当用户代码以以下内容为主时选择 cuMLscikit-learn 估计器分类、回归、聚类、降维ML 预处理缩放、编码、缺失值填充、特征提取超参数调优或交叉验证树模型推理XGBoost、LightGBM、sklearn Random Forest经 FIL大数据集上的 UMAP、t-SNE、HDBSCAN 或 KNN兼容性允许时先尝试cuml.accel加速器模式python -m cuml.accel your_script.py对不支持的估计器、需要显式输出控制或有实测性能原因时再迁移到原生 cuML API。不要依赖宣传中的加速倍数范围而应针对用户的估计器、维度与端到端流水线做基准测试。最适用分类、回归、聚类、降维、预处理流水线、模型推理、任何 scikit-learn 重度工作流。cuGraph面向图分析NetworkX 替代当用户代码以以下内容为主时选择 cuGraphNetworkX 图算法中心性、社区检测、最短路径、PageRank大型网络上的图构建与分析社交网络分析、知识图谱或推荐系统任何 10K 边网络上的图算法先使用nx-cugraph后端并检查回退行为NX_CUGRAPH_AUTOCONFIGTrue python your_script.py对不支持的操作或实测性能原因再迁移到使用 cuDF 边列表的原生 cuGraph API。端到端基准必须把图构建与 host-device 转换纳入测量。最适用PageRank、介数中心性、社区检测Louvain、Leiden、BFS/SSSP、连通分量、链接预测、图神经网络采样、任何 NetworkX 重度工作流。KvikIO面向高性能 GPU 文件 IO当用户代码以以下内容为主时选择 KvikIO直接将大型二进制数据文件加载进 GPU 显存不先拷贝到 host 就把 GPU 数组写盘从远程存储S3、HTTP、WebHDFS读取数据进 GPU 显存在 GPU 上使用 Zarr 数组GDSStore 后端任何以文件 IO 为存储与 GPU 之间瓶颈的流水线KvikIO 提供 NVIDIA cuFile 的 Python 绑定启用GPUDirect StorageGDS——数据直接在 NVMe 存储与 GPU 显存之间流动完全绕开 CPU 内存GDS 不可用时透明回退到 POSIX IO同时无缝处理 host 与 device 数据。典型转换见 code_transformation_patterns.md# Before — CPU staging (disk → CPU → GPU) import numpy as np import cupy as cp data np.fromfile(data.bin, dtypenp.float32) gpu_data cp.asarray(data) # Extra copy through CPU memory # After — direct to GPU (disk → GPU via GDS) import cupy as cp import kvikio gpu_data cp.empty(1_000_000, dtypecp.float32) with kvikio.CuFile(data.bin, r) as f: f.read(gpu_data) # Bypasses CPU memory with GPUDirect Storage最适用二进制数据加载到 GPU、GPU 数组写盘、从 S3/HTTP 直接读到 GPU、GPU 上的 Zarr 数组、替换numpy.fromfile()→cupy模式、任何以 CPU 内存暂存为瓶颈的 IO 密集 GPU 流水线。注意表格格式CSV、Parquet、JSON请使用 cuDF 内置读取器——它们针对这些格式做了优化KvikIO 面向原始二进制数据与远程文件访问。cuxfilter仅限遗留仪表盘项目状态sunset日落。RAPIDS 26.06 是 cuxfilter 的最终版本RSN 60。只有当用户已在用或明确要求时才使用它。新仪表盘应使用 cuDF 做 GPU 数据准备配合 HoloViews/hvPlot/Datashader 联动选择用 Panel、Plotly Dash、Streamlit 或 Bokeh 提供服务。当现有应用需要以下能力时维护 cuxfilter大数据集百万行上的交互式交叉过滤仪表盘联动图表互相过滤的探索性数据分析散点图、条形图、热力图、choropleth 或图可视化的 GPU 加速从 Jupyter notebook 以最少代码快速原型化仪表盘可视化 cuDF、cuML 或 cuGraph 流水线的结果cuxfilter 的所有数据操作过滤、groupby、聚合都在 GPU 上通过 cuDF 完成仅把渲染结果发送给浏览器集成 Bokeh、Datashader百万点、Deck.gl地图与 Panel 组件。最适用无法迁移的既有 26.06 应用。不要在未维护的仪表盘框架上开启新依赖。cuCIM面向图像处理scikit-image 替代当用户代码以以下内容为主时选择 cuCIMscikit-image 运算滤波、形态学、分割、特征检测、颜色转换深度学习图像预处理流水线resize、normalize、augment数字病理全切片图像读取、HE 染色归一化、细胞计数显微镜、遥感或医学影像工作流任何处理 512×512 及以上图像的 scikit-image 重度流水线cuCIM 的cucim.skimage模块镜像 scikit-image API提供 200 个 GPU 加速函数还提供高性能 WSI 读取器CuImage比 OpenSlide 快 5–6 倍。所有函数都作用于 CuPy 数组——零拷贝、全程在 GPU 上。转换示例见 code_transformation_patterns.md替换 import cp.asarray(image)一次性传输。最适用滤波Gaussian、Sobel、Frangi、形态学、阈值化、连通分量标记、区域属性、色彩空间转换、图像配准、去噪、全切片图像处理、DL 预处理流水线。cuVS面向向量检索Faiss/Annoy 替代当用户代码以以下内容为主时选择 cuVS高维向量上的近似最近邻ANN搜索RAG、推荐系统或语义检索的相似度搜索用于聚类或可视化的 k-NN 图构建大型 embedding 数据集上的任何 Faiss、Annoy、ScaNN 或 sklearn NearestNeighbors 负载cuVS 提供 GPU 加速的 ANN 索引类型CAGRA、IVF-Flat、IVF-PQ、brute force以及用于从 GPU 构建索引做 CPU 服务的HNSW并为 Faiss、Milvus、Lucene 提供 GPU 后端。大多数场景从 CAGRA 开始——它是最快的 GPU 原生算法。对精确搜索基准code_transformation_patterns.md 强调必须匹配算法语义用 cuVS brute force 对齐精确 FaissIndexFlatL2基线CAGRA 仅在可接受近似结果时使用并以 recallk 相对精确基准报告。最适用embedding 检索、RAG 检索、推荐系统、图像/文本/音频相似度搜索、k-NN 图构建、任何 10K 向量的最近邻负载。cuSpatial仅限已归档的地理空间流水线项目状态archived归档。cuSpatial 仓库自 2025 年 7 月起只读最终版本 25.04 固定cudf-cu1225.4.*与当前 RAPIDS 版本同环境冲突。没有官方继任者。只在专用遗留环境中推荐它否则把几何运算留在 GeoPandas/ShapelyCPU上用 cuDF 加速工作流中的表格部分。当隔离的 25.04 环境已经在用以下能力时维护 cuSpatialGeoPandas 空间运算点在多边形内、空间连接、距离计算轨迹分析GPS 轨迹分组、速度/距离计算大规模空间连接的空间索引quadtree经纬度坐标上的 Haversine 距离计算大型地理空间数据集上的任何 GeoPandas/shapely 重度工作流cuSpatial 提供与 GeoPandas 兼容的 GPU 加速GeoSeries/GeoDataFrame类型及空间连接、距离、轨迹函数用cuspatial.from_geopandas()转换。最适用固定 25.04 技术栈的现有流水线。不要把它当作当前的 GeoPandas 替代品也不要与当前 RAPIDS 包混装。RAFTpylibraft面向底层 GPU 原语与多 GPU当用户需要以下能力时选择 RAFTGPU 加速稀疏特征值问题scipy.sparse.linalg.eigsh替代底层 GPU 设备内存管理device_ndarray随机图生成R-MAT 模型用于基准测试多节点多 GPU 通信基础设施经raft-dask作为高层 RAPIDS 库的底层构建块RAFT 提供了 cuML 与 cuGraph 所依赖的基础原语。大多数用户应先够到 cuML/cuGraph 这类高层库只有当需要 RAFT 暴露的特定原语稀疏特征值求解器、设备内存、图生成或经 Dask 的多 GPU 通信时才直接用。转换示例# After (GPU) — RAFT sparse eigensolver import cupy as cp import cupyx.scipy.sparse as sp_gpu from pylibraft.sparse.linalg import eigsh as gpu_eigsh A_gpu sp_gpu.csr_matrix(A) # Transfer to GPU eigenvalues, eigenvectors gpu_eigsh(A_gpu, k10, whichLM)最适用稀疏特征值分解谱方法、图划分、R-MAT 图生成、底层设备内存管理、多 GPU 编排。注意向量检索算法k-NN、IVFPQ、CAGRA已迁移到 cuVS——不要用 RAFT 做向量检索。组合使用经 CUDA Array Interface 零拷贝互操作许多真实负载需要同时使用多个库。它们通过CUDA Array Interface互操作——在 CuPy、Numba、Warp、cuDF、cuML、cuGraph、cuVS、cuCIM、cuSpatial、KvikIO、PyTorch、JAX 及其他 GPU 库之间实现零拷贝数据共享。决策框架给出了常见组合清单cuDF cuMLcuDF 加载与预处理cuML 训练/预测——完整 RAPIDS 流水线cuDF cuGraph从 cuDF 边列表构建图cuGraph 做图分析cuGraph cuMLcuGraph 提取图特征喂给 cuML 做机器学习cuML cuVScuML 训练 embedding 模型cuVS 建索引与检索cuDF CuPycuDF 加载过滤CuPy 数值分析CuPy cuVSCuPy 生成 embeddingcuVS 建检索索引——零拷贝Warp PyTorchWarp 可微仿真梯度反传进 PyTorch 训练循环Warp CuPyCuPy 做数组数学Warp 做空间查询mesh、volume——经 CUDA Array Interface 零拷贝Warp JAXWarp kernel 作为 JAX 原语进入 jitted 函数CuPy NumbaCuPy 做标准运算Numba 写自定义 kernelcuDF NumbacuDF 处理 DataFrame经 Numba UDF 施加自定义 GPU 函数cuML CuPycuML 训练CuPy 自定义后处理cuCIM CuPycuCIM 原生操作 CuPy 数组——图像处理与数组数学链式衔接cuCIM PyTorchcuCIM 预处理图像经 DLPack 直接传给 PyTorch——零拷贝cuCIM cuMLcuCIM 提取图像特征regionpropscuML 训练分类器KvikIO CuPy经 GDS 把原始二进制直接读入 CuPy 数组绕开 CPU 内存KvikIO NumbaKvikIO 直接读数据到 GPU自定义 Numba CUDA kernel 处理KvikIO Zarr用 GDSStore 后端在 GPU 上直接读写分块 N 维数组RAFT CuPy对用 CuPy/cupyx.scipy.sparse 构建的稀疏矩阵调用 RAFT 的eigsh()RAFT raft-dask经 Dask 把 GPU 负载扩展到多 GPU/多节点其中 cuxfilter 与 cuSpatial 的组合仅限各自的遗留技术栈cuDF/cuML/cuGraph cuxfilter遗留 26.06、cuSpatial cuDF/cuML遗留 25.04必须保持整个环境固定版本并隔离。安装、验证与基准测试完整安装命令见 installation.md本仓库统一使用uv add约定若用户项目已有包管理器则遵循其约定。RAPIDS 包跟踪 26.06 版本要求 Python ≥ 3.11 与 CUDA 12.x/13.x每个受维护的 RAPIDS 包都提供-cu12与-cu13两种 wheel 变体# CuPyCUDA 12.xCUDA 13.x 用 cupy-cuda13x uv add cupy-cuda12x14.1.* # Numba-CUDA 兼容路径维护模式自动安装 numba uv add numba-cuda[cu12]0.30.* # Warp仿真、空间计算、可微编程CUDA 13 构建仅在 GitHub Releases 发布 uv add warp-lang1.15.* # RAPIDS 库NVIDIA 索引一致包含因为包可用性不同 uv add --extra-index-urlhttps://pypi.nvidia.com cudf-cu1226.6.* uv add --extra-index-urlhttps://pypi.nvidia.com cuml-cu1226.6.* uv add --extra-index-urlhttps://pypi.nvidia.com cugraph-cu1226.6.* # 核心 cuGraph uv add --extra-index-urlhttps://pypi.nvidia.com nx-cugraph-cu1226.6.* # NetworkX 后端 uv add --extra-index-urlhttps://pypi.nvidia.com kvikio-cu1226.6.* uv add --extra-index-urlhttps://pypi.nvidia.com cucim-cu1226.6.* uv add --extra-index-urlhttps://pypi.nvidia.com cuvs-cu1226.6.* uv add --extra-index-urlhttps://pypi.nvidia.com pylibraft-cu1226.6.* # RAFT 核心原语 uv add --extra-index-urlhttps://pypi.nvidia.com raft-dask-cu1226.6.* # 多 GPU 支持可选 # 仅限遗留环境 uv add --extra-index-urlhttps://pypi.nvidia.com cuxfilter-cu1226.6.* # SUNSET最终版本 uv add --extra-index-urlhttps://pypi.nvidia.com cuspatial-cu1225.4.* # ARCHIVED冻结版本安装后按 installation.md 提供的各库验证片段逐一确认cp.cuda.runtime.getDeviceCount()、cuda.is_available()、wp.init()、kvikio.cufile_driver.get(is_gds_available)等。最后遵守 SKILL.md 的工作流收尾验证语义先于速度在小的确定性 fixture 与代表性数据上对比 CPU/GPU 输出浮点结果用显式容差并测试 NaN、排序、dtype 等边界近似 ANN 索引以 exact 搜索为基准报告 recallk正确基准测试 GPU 代码GPU 工作异步未同步的 CPU 计时测的只是入队时间先暖机上下文创建与 JIT 编译再用 CUDA events 或库感知计时器如cupyx.profiler.benchmark与 notebook 里的%gpu_timeit用 Nsight Systems 看端到端时间线、Nsight Compute 做 kernel 分析最后只在通过正确性检查且端到端同步基准显示有用改进时保留 GPU 路径否则说明瓶颈到底来自问题规模、传输、不支持的回退、显存压力、启动粒度还是算法本身。小结optimize-for-gpu技能的核心不是用 GPU 替代一切而是用决策框架控制风险先验证移植合理性再按加速器模式 → 原生库 API → 自定义 kernel的顺序递进为每类 CPU 负载匹配恰好合适的 GPU 库NumPy→CuPy、pandas→cuDF、scikit-learn→cuML、NetworkX→cuGraph、scikit-image→cuCIM、向量检索→cuVS、文件 IO→KvikIO、自定义 kernel→Numba-CUDA(-MLIR)、仿真与几何→Warp、底层原语→RAFT对已日落/归档的 cuxfilter 与 cuSpatial 只做存量维护。各库完整 API 模式、优化技巧与陷阱请在写任何 GPU 代码前阅读对应参考文件references/cupy.md、references/numba.md、references/warp.md、references/cudf.md、references/cuml.md、references/cugraph.md、references/kvikio.md、references/cucim.md、references/cuvs.md、references/raft.md目录见 references。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考