Общие инструкции по связыванию библиотек не относятся к CUDA. Поэтому вы можете узнать больше о , используя MS VS . В любом случае, шаги таковы:
cudart.lib
должен присутствовать там. cudart.lib
Теперь вы можете вводить новые библиотеки для добавления. Введите пробел (чтобы отделить cudart.lib) и введите cusparse.lib
должен быть всем, что необходимо, если ваш файл проекта / решения уже настроен с использованием шаблона cuda. Если cudart.lib отсутствует, или ваши файлы проекта / решения еще не понимают cuda, это отдельная проблема. В этом случае я бы рекомендовал начать, путем клонирования проекта из образцов и построения вашего проекта, используя это как отправную точку. Затем он подберет все нужные каталоги для поиска, а также правила сборки cuda. Поскольку все основные библиотеки cuda (cudart, cublas, cufft, cusparse и т. Д.) Находятся в одном месте, один и тот же путь поиска должен выбрать любой из них по мере необходимости.
Если вы хотите связать например, в другой библиотеке, например cublas.lib
, вы можете следовать аналогичной последовательности, заменив cusparse.lib
выше на cublas.lib
. Обратите внимание, что с более новыми версиями CUDA (например, CUDA 7.5) это будет необходимо только для создания 64-битного проекта (следуйте приведенным выше инструкциям при изменении свойств проекта x64). CUDA 7.5 и выше отказываются от поддержки 32-битных проектов.
@Кришан, кажется, вы уже нашли решение, и, если это так, возможно, будет полезно опубликовать его в качестве ответа.
В качестве альтернативы, вы можете использовать объект {workflow}
, чтобы получить каталог Snakefile и оттуда построить путь к вашему скрипту Python. Если ваша структура каталогов:
./
├── Snakefile
├── data
│ └── sample.bam
└── scripts
└── edit_bam.py
Файл Snake может выглядеть следующим образом:
rule all:
input:
'test.tmp',
rule one:
input:
'sample.bam',
output:
'test.tmp',
shell:
r"""
cat {input} \
| {workflow.basedir}/scripts/edit_bam.py > {output}
"""
Выполнено с snakemake -d data ...
Кажется, объект workflow
не является задокументировано, но проверьте эту ветку Есть ли способ получить полный путь к Snake-файлу внутри Snake-файла?
Использование shell
вместо script
директивы:
rule all:
input:
expand('{sample}_edited.bam'), sample=['a', 'b', 'c']
rule somename:
input:
'{sample}.bam'
output:
'{sample}_edited.bam'
shell:
'''
cat {input} > python edit_bam.py > {output}
'''