gcc 4.5 и 4.6 не поддерживаются с CUDA - код не будет компилироваться, а остальная часть инструментальной цепочки, включая cuda-gdb, не будет работать должным образом. Вы не можете использовать их, и ограничение не подлежит обсуждению.
Единственное решение - установить версию gcc 4.4 в качестве второго компилятора (это позволит большинство дистрибутивов). Существует опция nvcc --compiler-bindir
, которая может использоваться для указания на альтернативный компилятор. Создайте локальный каталог, а затем создайте символические ссылки на поддерживаемые исполняемые файлы версии gcc. Передайте этот локальный каталог в nvcc через опцию --compiler-bindir
, и вы сможете скомпилировать код CUDA, не затрагивая остальную часть вашей системы.
EDIT:
Примечание. что этот вопрос и ответ относятся к CUDA 4. Так как это было написано, NVIDIA продолжала расширять поддержку более поздних версий gcc в новой версии CUDA toolchain
В настоящее время (с CUDA 9) отсутствует поддержка gcc 8 в CUDA.
Обратите внимание, что недавно NVIDIA добавила очень полезную таблицу здесь , который содержит поддерживаемый компилятор и матрицу ОС для текущего выпуска CUDA.
Для дальнейшего использования Python строго типизирован . В отличие от других динамических языков, он не будет автоматически отбрасывать объекты из одного типа или другого (скажем от str
до int
), поэтому вы должны сделать это самостоятельно. Вам понравится в долгосрочной перспективе, поверьте мне!
input
возвращает строку. Чтобы преобразовать его в целое число, используйте int(some_string)
. def cat_n_times(s, n):
for i in range(n):
print(s)
text = input("What would you like the computer to repeat back to you: ")
num = int(input("How many times: ")) # Convert to an int immediately.
cat_n_times(text, num)
n
должно быть числом раз , а s
должно быть строкой .