TypechoJoeTheme

鱼一的博客 ◡̈

yuyi

知不可乎骤得,托遗响于悲风
网站页面
标签搜索

Mac OS 运行程序出现 `zsh: segmentation fault`

  1. 在终端跑程序的时候报错

    zsh: segmentation fault python main.py --epochs 2 --mask_ratio 0.2

在 Unix-like系统(包括macOS)中, OpenMP 库默认并行执行带有 #pragma omp parallel 的代码块,可能和 PyTorch 中 c 相关的源码有关。

export KMP_DUPLICATE_LIB_OK=TRUE
这个环境变量告诉OpenMP忽略由于动态库加载时可能出现的重复库问题。在使用多个动态库时,如果这些库中包含了OpenMP的实现,可能会出现冲突。设置这个变量为TRUE可以防止OpenMP在初始化时因为检测到多个版本的OpenMP实现而报错。
export OMP_NUM_THREADS=1
这个环境变量设置OpenMP在并行区域时使用的最大线程数。将其设置为1意味着即使代码中有并行指令,OpenMP也不会创建额外的线程,只会使用一个线程来执行任务。这通常用于调试并行程序,因为在单线程模式下,程序的行为更可预测,也更容易跟踪。
当你在终端中执行这些命令时,它们仅对当前终端会话有效。一旦你关闭终端或注销,这些设置就会失效。如果你想要在系统范围内永久设置这些环境变量,你可以将它们添加到你的shell配置文件中,如.bashrc、.bash_profile、.zshrc等,取决于你使用的是哪个shell。

请注意,这些设置可能会影响到使用了OpenMP的程序的性能和行为,因此应该根据你的具体需求来配置它们。如果你正在调试并行程序,这些设置可以帮助你简化调试过程。如果你的程序需要并行执行以提高性能,那么你应该根据可用的处理器核心数来合理设置OMP_NUM_THREADS。

  1. 指定 conda 环境的 pip 进行库的安装
    /path/to/conda/env/bin/pip install package_name
赞(0)
版权属于:

鱼一的博客 ◡̈

本文链接:

https://yuyi.monster/archives/304/(转载时请注明本文出处及文章链接)

评论 (0)

More Info for me 📱

IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月