ERROR: Unknown host CPU architecture: arm64

4 篇文章 0 订阅

在编译基于Android.mk构建的android ndk项目时发现,在m1的macbook pro上会出现如下错误

ERROR: Unknown host CPU architecture: arm64

需要修改ndk根目录下的ndk-build文件 (推测原因是m1属于arm架构)

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/build/ndk-build "$@"

改为

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

本来故事到这里就应该结束的,奈何我是一个动手能力比较强的人,对于复制粘贴不是很擅长,但是独爱徒手敲代码,结果就敲漏了最后的 "$@",所以有了很多很奇怪的路径不对的问题,类似下图:

在我不知道原因的时候,我尝试过如下无效操作:

  • 重启android studio
  • 重启电脑
  • clean 
  • refresh linked c++ projects
  • 把所有Android.mk中LOCAL_PATH := $(call my-dir),LOCAL_PATH全部被我命名为了不同的名字,比方说A模块中的LOCAL_PATH就变成了A_PATH,这个改动花费了我大量的时间,并且产生了让我越来越无法理解的结果,那就是确实达到了修复问题的效果。但是当我把所有的LOCAL_PATH改完后就发现LOCAL_SRC_FILES这个内置变量的值也变成了这种我无法理解的样子,这就没办法处理了,所以我只能放弃这条路。
  • 升级了电脑系统到12.4
### 回答1: 这个错误通常意味着在使用CUDA的过程中发生了未知的错误。有几个可能导致此错误的原因,以下是一些可能的解决方法: 1. 检查CUDA驱动程序是否已正确安装。可以尝试卸载并重新安装CUDA驱动程序。 2. 确保使用的CUDA版本与您的PyTorch版本兼容。可以查看PyTorch文档以确定所需的CUDA版本。 3. 检查GPU是否可用。可以尝试使用nvidia-smi命令检查GPU是否被其他程序占用,或者重启机器后再尝试运行代码。 4. 尝试降低批量大小或减小模型的规模。有时候,内存不足可能导致此错误。 如果上述解决方法都无法解决问题,您可能需要更深入地研究问题所在,或者寻求更专业的帮助。 ### 回答2: CUDA错误:未知错误(RuntimeError: CUDA error: unknown error)可能是由于以下原因引起的: 1. 显卡驱动问题:未正确安装或未升级到最新的驱动程序,或者驱动程序与CUDA不兼容。 2. 系统环境问题:未正确配置系统环境变量或配置错误,例如CUDA_HOME、LD_LIBRARY_PATH、PATH等变量。 3. 硬件问题:显卡故障或者显存问题。 4. CUDA程序错误:代码中存在问题,例如内存泄漏或未正确释放显存等。 解决方法: 1. 检查当前使用的CUDA版本是否与代码编译时使用的版本相同,并安装或升级到正确的版本。 2. 检查显卡驱动是否是最新版本,并升级驱动程序。同时,确保驱动程序与CUDA版本兼容。 3. 检查环境变量配置是否正确,并更正错误的变量值。 4. 检查显卡是否工作正常,可以通过其他程序或者测试工具进行检测。 5. 对CUDA程序进行调试,检查代码中是否出现了问题,例如内存泄漏或未正确释放显存等。同时,也可以添加日志信息,便于排除错误。 需要说明的是,无法确定导致CUDA错误的原因,因为该错误的信息不够详细。 如果以上方法不能解决问题,可以尝试更换显卡或者重新安装系统。 ### 回答3: 这是一个在使用CUDA时可能会遇到的错误。通常情况下,这个错误会显示为“runtimeerror: cuda error: unknown error”。 这种错误可以出现在任何使用CUDA的程序中,包括机器学习、深度学习和其他高性能计算应用。通常情况下,这个错误是由于CUDA运行时库出现问题而导致的。 当出现这个错误时,我们需要检查一下CUDA程序运行时的环境和版本是否正确。检查CUDA版本是否与编译程序时所用的版本一致。同时,也可以尝试更新CUDA驱动程序或升级操作系统来解决错误。 此外,还需要检查一下显卡驱动运行是否正常,需要保证显卡驱动程序是最新的,并且与CUDA版本相兼容。此外,还需要确保系统硬件配置(显卡、内存等)符合CUDA的要求。 如果以上方法都无法解决这个错误,我们需要进行更深入的调试,可能需要使用调试工具来检查错误发生的位置和原因,以便更好地解决这个问题。 总之,在使用CUDA时,出现“runtimeerror: cuda error: unknown error”的错误是比较常见的,通常需要进行一些调试和排查。如果以上方法都无效,可以考虑寻求更专业的帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值