Невозможно связать библиотеки CUDA в Eclipse - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь использовать libtorch для своего проекта и собрал его из источников. Я сделал компиляцию и использовал пример кода в документации (используя CMake) и нашел работу как положено. Теперь я расширил то же самое для рабочей области eclipse для поддержки ide, но здесь я столкнулся со странной проблемой связывания с библиотеками gpu cuda.

Я связал все библиотеки для компиляции, как показано ниже fig1

но когда ldd'd библиотеки не связаны с исполняемым файлом, как показано ниже fig2

где при компиляции с CMake я получаю ссылки на cuda libs, как показано здесь fig3 вот доказательство того, что cuda libs связаны во время компиляции на затмении fig4 Это тестовый код, который я использовал

#include <torch/torch.h>
#include <iostream>

int main() {
        torch::DeviceType device_type;

        if (torch::cuda::is_available()) {
             std::cout << "CUDA available! Training on GPU" << std::endl;
             device_type = torch::kCUDA;
        } else {
          std::cout << "Training on CPU" << std::endl;
           device_type = torch::kCPU;
        }

        torch::Device device(device_type);

        torch::Tensor tensor = torch::rand( { 2, 3 }).to(device);
        std::cout << tensor << std::endl;

        return 0;
 }

ожидаемый ответ - когда ldd'd на исполняемом файле, сгенерированном eclipse, ожидается, что в списке будут все библиотеки, связанные в eclipse. как показано на первом изображении.

...