No puedo encontrar qué versión/qué conceptos de C++ son compatibles con CUDA 5.0. No pude encontrar ninguna información en la Guía de programación o Guía de referencia entregada con CUDA 5.0 RC. Especialmente me pregunto si CUDA 5.0 es compatible con C++ 11. ¿Podría alguien señalarme un lugar para buscar esta información?versión de C++ admitida por cuda 5.0
Respuesta
No es compatible con gcc 4.7 por lo some of the c++11 features no están disponibles:
- Non-static data member initializers
- Template aliases :(
- Delegating constructors
- User-defined literals
- Extended friend declarations
- Explicit virtual overrides
Perdón por aceptar eso tarde, primero esperaba obtener una referencia a la documentación de cuda, pero esa lista es un gran comienzo. – soriak
Las notas de la versión contienen una lista de las plataformas de apoyo, incluidos los que se apoyan las versiones de las CGC, el 5.0 Release Candidate release notes muestran que el más reciente GCC compatible 4.6 para ciertas distribuciones (y más antiguas para otras distribuciones).
Una vez que sepa qué versión de GCC es compatible, compárela con la GCC C++0x/C++11 feature list.
Solo el código de host se compila con GCC. – Dude
@Dude: nvcc divide efectivamente un solo archivo para compilación por el compilador de host (en este caso GCC) y el compilador del dispositivo. El enlazador finalmente vincula los objetos del dispositivo y los objetos del servidor juntos. Realmente no entiendo lo que quieres decir con que solo se compila código de host con GCC, nadie dice nada diferente, pero nvcc solo admite ciertas versiones (ver notas de la versión). ¡No estoy seguro de que justificara un voto a la baja! – Tom
OP está pidiendo características de C++ 11. ¿Estás seguro de que el compilador del dispositivo los implementa a todos? – Dude
Parece que no hay funciones de C++ 11 disponibles en 5.0 RC. NVCC todavía no entiende C++ 11 sintaxis utilizada en el estándar incluye de gcc 4.6 (ver Error while using CUDA and C++11):
$ NVCC --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2012 NVIDIA Corporation
Built on Tue_Jul_31_17:46:14_PDT_2012
Cuda compilation tools, release 5.0, V0.2.1221
$ cat test.cu
int main()
{
}
$ NVCC -Xcompiler "-std = C++ 0x" test.cu
/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h(159): error: identifier "nullptr" is undefined
/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h(159): error: expected a ";"
/usr/include/c++/4.6/bits/exception_ptr.h(93): error: incomplete type is not allowed
...
ahora si está consultando sobre Cuda/C++ o la biblioteca de THRUST. la biblioteca de empuje es muy similar a stl C++ con respecto a los contenedores, iteradores y algoritmos, pero no es C++ 11.
nvcc compila el código de gpu. Compatibilidad con nvcc (Cuda C y C++ C++/thrust) código de compilación gcc gcc. gcc (soporte C y C++).
- 1. Determine la versión HTTP admitida por el servidor web
- 2. Cómo generar C/C++ anotado PTX en CUDA 4.1/4.2/5.0
- 3. versión del controlador CUDA es insuficiente para la versión de tiempo de ejecución CUDA
- 4. Extensión STARTTLS no admitida por el servidor
- 5. iOS mínimo versión 5.0 y la tienda de aplicaciones
- 6. Codificando CUDA con C#?
- 7. ¿Puedo obtener la capacidad CUDA Compute (versión) en tiempo de compilación por #define?
- 8. EntityFramework 5 use dll versión 4.4.0.instead 5.0
- 9. Bloques máximos por cuadrícula: CUDA
- 10. Makefile para CUDA y C
- 11. Función no admitida desde la hibernación
- 12. palabra clave fuente de datos no admitida
- 13. CUDA C# .Net Ejemplo de proyecto? VS2010
- 14. Resharper 5.0 - impresiones iniciales
- 15. CUDA que determina los hilos por bloque, bloques por cuadrícula
- 16. Diferente color de celda BG dependiendo de la versión de iOS (4.0 a 5.0)
- 17. Problema con la versión de producción de CUDA Toolkit 4.0 y 2.0 Nsight
- 18. Análisis de Json en Blackberry 5.0
- 19. Confusión en CUDA/openCL y C++ AMP
- 20. Forma admitida para elevar los privilegios
- 21. con fluidez nhibernate no admitida excepción newexpression
- 22. CUDA: asignación de memoria del dispositivo de empaquetado en C++
- 23. Entity Framework 5.0 Benchmark Test
- 24. C# versión de optparse?
- 25. Dormir sin bloqueo en C# 5.0 (como setTimeout en JavaScript)
- 26. Una versión para dos versiones diferentes (4.6,4.7 y 5.0 + arriba) en blackberry
- 27. CUDA __threadfence()
- 28. C# 5.0 función async/await y Rx - Extensiones reactivas
- 29. Entity-Framework 5.0 con PostgreSQL
- 30. Pasando una clase C++/CUDA al SourceModule de PyCUDA
¿Está preguntando sobre la compatibilidad con el código del dispositivo C++ o el código de host? – talonmies