На протяжении многих лет OpenCL переживал непростые времена в отношении. о перспективах использования C++ для написания ядер. Сначала был «язык ядра OpenCL C++», стандартизированный с помощью OpenCL v2.1, но он не совсем прижился, и AFAICR никогда не поддерживался на графических процессорах NVIDIA; а затем, с OpenCL 3.0 - от него полностью отказались в пользу C++ для OpenCL, который "основан на компиляторе Clang/LLVM, реализующем подмножество промежуточного кода C++17 и SPIR-V" - и было объявлено/ опубликовано не позднее 2021 года.
В любом случае, давайте посмотрим, где мы находимся сейчас, то есть в декабре 2024 года. Могу ли я использовать один или другой язык ядра C++ и скомпилировать его — используя собственные инструменты и библиотеки NVIDIA или даже clang/LLVM, а затем материалы NVIDIA, чтобы он мог работать на графических процессорах NVIDIA? И если да, то как, блин, это делается?
Примечания:
Альтернативные способы меня не интересуют чтобы заставить графические процессоры запускать вещи, написанные на C++, например. использование ядер CUDA, NVIDIA Thront, SYCL, OpenMP, OpenACC и т. д. Это все хорошо, но не о том, о чем этот вопрос.
Я задавал аналогичный вопрос в 2019 году, когда состояние дела было иным, чем сегодня, и получил ответ, актуальный для того времени. Я думаю, что этот отдельный вопрос уместен (но другие могут думать иначе).
На протяжении многих лет OpenCL переживал непростые времена в отношении. о перспективах использования C++ для написания ядер. Сначала был «язык ядра OpenCL C++», стандартизированный с помощью OpenCL v2.1, но он не совсем прижился, и AFAICR никогда не поддерживался на графических процессорах NVIDIA; а затем, с OpenCL 3.0 - от него полностью отказались в пользу C++ для OpenCL, который "основан на компиляторе Clang/LLVM, реализующем подмножество промежуточного кода C++17 и SPIR-V" - и было объявлено/ опубликовано не позднее 2021 года. В любом случае, давайте посмотрим, где мы находимся сейчас, то есть в декабре 2024 года. Могу ли я использовать один или другой язык ядра C++ и скомпилировать его — используя собственные инструменты и библиотеки NVIDIA или даже clang/LLVM, а затем материалы NVIDIA, чтобы он мог работать на графических процессорах NVIDIA? И если да, то как, блин, это делается? Примечания: [list] [*]Альтернативные способы меня не интересуют чтобы заставить графические процессоры запускать вещи, написанные на C++, например. использование ядер CUDA, NVIDIA Thront, SYCL, OpenMP, OpenACC и т. д. Это все хорошо, но не о том, о чем этот вопрос. [*]Я задавал аналогичный вопрос в 2019 году, когда состояние дела было иным, чем сегодня, и получил ответ, актуальный для того времени. Я думаю, что этот отдельный вопрос уместен (но другие могут думать иначе). [/list]
У меня возникла небольшая проблема, когда загрузчик данных загружает наборы обучения и проверки в графический процессор, и ему не хватает оперативной памяти, что приводит к завершению работы программы. Мне рекомендовали настроить устройство на...
У меня возникла небольшая проблема, когда загрузчик данных загружает наборы обучения и проверки в графический процессор, и ему не хватает оперативной памяти, что приводит к завершению работы программы. Мне рекомендовали настроить устройство на...
В разговоре о модели выполнения C ++, на конференции Cppunderthesea 2024, около 44:50, Bryce Adelstein Lelbach из Nvidia не дает гарантии прогрессирования нитей («слабое параллельное прогресс»), в то время как ранее описанная гарантия для GPUS of...
В разговоре о модели выполнения C ++, на конференции Cppunderthesea 2024, около 44:50, Bryce Adelstein Lelbach из Nvidia не дает гарантии прогрессирования нитей («слабое параллельное прогресс»), в то время как ранее описанная гарантия для GPUS of...
В разговоре о модели выполнения C ++, на конференции Cppunderthesea 2024, около 44:50, Bryce Adelstein Lelbach из Nvidia не дает гарантии прогрессирования нитей («слабое параллельное прогресс»), в то время как ранее описанная гарантия для GPUS of...