Получение ввода из QLineEdit и отправка его в другой файл python для расчета [duplicate]

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 4.1, gcc 4.5 теперь поддерживается. gcc 4.6 и 4.7 не поддерживаются.
  • Начиная с выпуска CUDA 5.0, теперь поддерживается gcc 4.6. gcc 4.7 не поддерживается.
  • Начиная с версии CUDA 6.0, теперь поддерживается gcc 4.7.
  • Начиная с версии CUDA 7.0, gcc 4.8 полностью поддерживается, с поддержкой 4.9 на Ubuntu 14.04 и Fedora 21.
  • Начиная с выпуска CUDA 7.5, gcc 4.8 полностью поддерживается, поддержка 4.9 на Ubuntu 14.04 и Fedora 21.
  • Начиная с выпуска CUDA 8, gcc 5.3 полностью поддерживается на Ubuntu 16.06 и Fedora 23.
  • Начиная с выпуска CUDA 9, gcc 6 полностью поддерживается на Ubuntu 16.04, Ubuntu 17.04 и Fedora 25.
  • CUDA 9.2 релиз добавляет поддержку gcc 7

В настоящее время (с CUDA 9) отсутствует поддержка gcc 8 в CUDA.

Обратите внимание, что недавно NVIDIA добавила очень полезную таблицу здесь , который содержит поддерживаемый компилятор и матрицу ОС для текущего выпуска CUDA.

31
задан YOU 4 March 2010 в 03:38
поделиться

2 ответа

Для дальнейшего использования Python строго типизирован . В отличие от других динамических языков, он не будет автоматически отбрасывать объекты из одного типа или другого (скажем от str до int), поэтому вы должны сделать это самостоятельно. Вам понравится в долгосрочной перспективе, поверьте мне!

21
ответ дан jathanism 18 August 2018 в 00:30
поделиться
  1. Причина, по которой это происходит, заключается в том, что (Python 3) input возвращает строку. Чтобы преобразовать его в целое число, используйте int(some_string).
  2. Обычно вы не отслеживаете индексы вручную в Python. Лучшим способом реализации такой функции будет
    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)
    
  3. . Я изменил ваш API выше бит. Мне кажется, что n должно быть числом раз , а s должно быть строкой .
36
ответ дан Jess 18 August 2018 в 00:30
поделиться
  • 1
    +1 для использования for-loop. Не только в Python, но и в подавляющем большинстве языков программирования конструкция for-loop намного лучше использовать, чем конструкция while-loop, потому что код инициализации и обновления поддерживается в непосредственной близости от условия завершения, уменьшая вероятность ошибки. – Michael Aaron Safyan 4 March 2010 в 04:00
  • 2
    хорошо знать, что только python 2 имеет shortcut int (some_string) для int (input (some_string)) в python 3. Аналогично, raw_input () для возврата строки является функцией python 2 для input () в python 3. – Agile Bean 29 June 2018 в 16:45
Другие вопросы по тегам:

Похожие вопросы: