You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GPU集群运行OpenCL矩阵乘法脚本遇权限错误及版本适配问题

问题解决办法

一、修复"bash: ./run_performance.sh: Permission denied"错误

  • 给脚本添加可执行权限,执行以下命令:
    chmod +x run_performance.sh
    
  • 如果执行后仍报错,检查脚本开头的shebang(解释器路径)是否正确:
    1. 先查看集群上bash的实际路径:
      which bash
      
    2. 将脚本第一行的#!/bin/bash替换为上一步得到的路径(比如#!/usr/bin/bash)。

二、OpenCL版本宏适配调整

NVIDIA TITAN RTX支持OpenCL 3.0,原代码中#define CL_TARGET_OPENCL_VERSION 120是针对OpenCL 1.2的配置,可按以下方式调整:

  • 修改源码宏定义:将matmul.c中的版本宏改为OpenCL 3.0对应的数值:
    #define CL_TARGET_OPENCL_VERSION 300
    
    (如果代码中使用了C++ OpenCL绑定,需额外添加#define CL_HPP_TARGET_OPENCL_VERSION 300)
  • 编译时覆盖宏定义:若不想修改源码,可在编译命令中通过参数指定版本:
    gcc matmul.c -o matmul -lOpenCL -DCL_TARGET_OPENCL_VERSION=300 -L/usr/local/cuda/lib64
    
    (-L/usr/local/cuda/lib64是指定NVIDIA OpenCL库的路径,若集群库路径不同需对应调整)
  • 验证兼容性:OpenCL 3.0向下兼容1.2的API,修改版本宏后无需大幅调整原有代码,若存在1.2特有的废弃API调用,可参考OpenCL 3.0规范替换为等效接口。

内容的提问来源于stack exchange,提问作者심정훈

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:05:56