如何为 Visual Studio 2022 正确设置 oneMKL 库

问题描述 投票:0回答:1

标题已经说明了:我从 Intel 下载了所谓的 oneMKL 库,地址为

oneMKL下载页面

旨在将其与 Windows 10 计算机上的(专业)版本的 Visual Studio 2022 一起使用。

在 GUI 呈现的安装过程中,我仅选择了默认选项,并以以下条目结束:

C:\Program Files (x86)\Intel\oneAPI

现在我不太清楚下一步该做什么,但我知道必须做一些特别的事情,因为我的一位同事此时直接尝试使用 Visual Studio 2022 编译示例程序并不成功。

我尝试通过谷歌搜索和 binging 浏览英特尔的在线文档来找出必要的步骤,还尝试使用 Bings AI。

我发现的是,有必要执行

C:\Program Files (x86)\Intel\oneAPI\setvars.bat

我这样做了,收到了消息,我将其解释为成功,并声明现在 Visual Studio 2022(至少是命令行版本)已准备好与 oneMKL 一起使用。

在下一步中,我使用以下代码在 Visual Studio 2022 中创建了一个控制台 C++ 项目:

#include <iostream>
#include <vector>
#include "mkl.h"

int main() {
    const int n = 8;
    std::vector<double> x(n);
    std::vector<double> y(n);
    DFTI_DESCRIPTOR_HANDLE desc;
    MKL_LONG status;

    // Initialize input data
    for (int i = 0; i < n; ++i) {
        x[i] = i + 1;
    }

    // Create descriptor
    status = DftiCreateDescriptor(&desc, DFTI_DOUBLE, DFTI_COMPLEX, 1, n);

    // Set configuration options
    status = DftiSetValue(desc, DFTI_PLACEMENT, DFTI_NOT_INPLACE);

    // Commit descriptor
    status = DftiCommitDescriptor(desc);

    // Compute forward FFT
    status = DftiComputeForward(desc, x.data(), y.data());

    // Print output
    std::cout << "FFT output: ";
    for (int i = 0; i < n; ++i) {
        std::cout << y[i] << " ";
    }
    std::cout << std::endl;

    // Free descriptor
    status = DftiFreeDescriptor(&desc);

    return 0;
}

(代码由 Bings AI 编写)。

但是我无法编译它,因为在开始时就找不到 mkl.h。 尽管事实上,我已经在新创建的属性子页面上的“项目属性”上进行了广告设置:

深入挖掘,似乎 Visual Studio 尝试发挥作用的一些必要的环境变量未正确填充,例如

$(oneMKLIncludeDir)

当然你可以说,“为什么不自己填写这些,看看会发生什么”,但目前我更喜欢一些明确的分步说明,可以按照 oneMKL 的预期使用方式完成哪些操作。当然没有想过让用户手动显式创建环境变量。

那么:有没有人在 Windows 10 和 Visual Studio 2022(GUI 版本而不是命令行)上成功下载并安装 oneMKL 以及必要的步骤是什么?

非常感谢您的每一个回答!

c++ intel-mkl
1个回答
0
投票

我安装了完整的 oneApi Base Toolkit。符号初始化不是用 oneMKL 完成的。

在项目VC++目录中放入

C:\Program Files (x86)\Intel\oneAPI\mkl�4.0\include
C:\Program Files (x86)\Intel\oneAPI\mkl�4.0\lib\

FFT 输入:1 2 3 4 5 6 7 8

FFT 输出:16 20 12.6569 -12.8995 -8 0 6.31371 2.75736

© www.soinside.com 2019 - 2024. All rights reserved.