首页 > 解决方案 > clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR Hashcat

问题描述

我正在尝试在我Zen Archlinux4.15.4-1-zen内核版本上运行 hashcat。我有一个 NVIDIA geforce 920MX 和一个英特尔 i6189DU。我安装了最新的nvidia-dkms驱动程序以及opencl-nvidia软件包。我还安装了最新的 Hashcat 版本。

当我运行 hashcat 命令时,出现此错误:clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR。我使用了一个工具来确定可用的 openCL 平台clinfo,输出只显示我的 CPU 平台而不是我的 GPU,但hashcat命令仍然输出相同的错误。

有什么帮助吗?

标签: openclarchlinuxhashcat

解决方案


在这里,Archer 同事,我找到了一种修复损坏的 hashcat 的方法,如您所见:

    $ hashcat -b
    hashcat (...) starting in benchmark mode...

    clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR

    ATTENTION! No OpenCL-compatible or CUDA-compatible platform found.
    You are probably missing the OpenCL or CUDA runtime installation.

    $ pacman -S clinfo
    $ clinfo 
    Number of platforms                               0

修复它的一种方法是安装 pocl(Portable OpenCL 是 OpenCL 的开源实现):

    $ pacman -S pocl
    $ clinfo
    Number of platforms                               1
      Platform Name                                   Portable Computing Language
      Platform Vendor                                 The pocl project
      ...

    $ hashcat -b
    hashcat (...) starting in benchmark mode...

    OpenCL API (...) - Platform #1 [The pocl project]
    =========================================================================================================================
    * Device #1: pthread-Intel(R) ...

    Benchmark relevant options:
    ===========================
    * --optimized-kernel-enable

    Hashmode: 0 - MD5

    Speed.#1.........:   ...
    ...

开裂快乐!( ͡° ͜ʖ ͡°)


推荐阅读