Я пытаюсь изменить программу GPL, написанную на C. Моя цель — заменить один метод реализацией CUDA, что означает, что мне нужно компилировать с помощью nvcc вместо gcc. Мне нужна помощь в создании проекта, а не в его реализации (я не думаю, что вам нужно что-то знать о CUDA C, чтобы помочь).
Я впервые пытаюсь изменить проект C средней сложности, который включает в себя .configure и Makefile. Честно говоря, я впервые за долгое время делаю что-либо на C, включая все, что связано с gcc или g++, так что я немного растерялся.
Я не очень заинтересован в изучении configure и Makefiles - это скорее эксперимент. Прежде чем тратить время на создание надлежащего сценария сборки, я хотел бы убедиться, что реализация проекта идет хорошо. (Не отказываясь учиться по мере необходимости, просто пытаясь дать представление о масштабах).
С учетом сказанного, каковы мои варианты создания этого проекта? У меня куча вопросов...
Я попытался добавить «CC=nvcc» в файл configure.in после AC_PROG_CC. Это, похоже, сработало - выходные данные при запуске configure и make показали nvcc в качестве компилятора. Однако make не смог скомпилировать исходный файл с ядром CUDA, не распознав синтаксис, специфичный для CUDA. Не знаю почему, надеялся, что это сработает.
Можно ли скомпилировать исходный файл с помощью nvcc, а затем включить его на этапе компоновки в процессе создания основной программы? Если да, то как? (Этот вопрос может не иметь смысла - я действительно ржавый в этом)
Как правильно это сделать?
Есть ли быстрый и грязный способ, который я мог бы использовать для целей тестирования?
Есть ли какой-то секретный инструмент, который все используют для настройки и понимания этих файлов конфигурации и Makefile? Это даже хуже, чем скрипты Apache Ant, к которым я привык (да, я не в своей тарелке)
.cu
для правильной компиляции. - person talonmies   schedule 20.02.2012