Создание программы GPL C с модулем CUDA

Я пытаюсь изменить программу GPL, написанную на C. Моя цель - заменить один метод реализацией CUDA, что означает, что мне нужно компилировать с помощью nvcc вместо gcc. Мне нужна помощь в создании проекта, а не в его реализации (вам не нужно ничего знать о CUDA C, чтобы помочь, я не думаю).

Я впервые пытаюсь изменить проект C средней сложности, который включает .configure и Makefile. Честно говоря, я впервые за долгое время делаю что-либо на C, включая все, что связано с gcc или g ++, так что я довольно растерян.

Мне не очень интересно изучать configure и Makefile - это скорее эксперимент. Прежде чем тратить время на создание правильного сценария сборки, я хотел бы проверить, идет ли реализация проекта. (Не желая учиться по мере необходимости, просто пытаясь дать представление о масштабах).

С учетом сказанного, каковы мои варианты построения этого проекта? У меня множество вопросов ...

  • Я пробовал добавить "CC = nvcc" в файл configure.in после AC_PROG_CC. Похоже, это сработало - в выходных данных запуска configure и make в качестве компилятора было указано nvcc. Однако make не удалось скомпилировать исходный файл с ядром CUDA, не распознав специфический синтаксис CUDA. Не знаю почему, надеялся, что это сработает.

  • Можно ли скомпилировать исходный файл с помощью nvcc, а затем включить его на этапе компоновки в процесс создания основной программы? Если да, то как? (Этот вопрос может не иметь смысла - я действительно уже в этом разбираюсь)

  • Как правильно это сделать?

  • Есть ли быстрый и грязный способ, который я мог бы использовать для целей тестирования?

  • Есть ли какие-нибудь секретный инструмент, который каждый использует для настройки и понимания этих файлов конфигурации и Makefile? Это даже хуже, чем сценарии Apache Ant, к которым я привык (Да, я не в своем царстве)

12
задан emulcahy 20 February 2012 в 15:39
поделиться