2012-10-12 242 views
5

Estoy tratando de asignar algo de memoria pero a veces me sale un error "sin memoria". cudaMemGetInfo dice que hay más memoria disponible que necesito. Entonces, problema en la fragmentación de la memoria. ¿Es posible solucionar este problema? ¿Es posible colocar elementos en la memoria, uno por uno, y fragmentarlos en unas pocas paces que puedo colocar en la memoria?¿Es posible resolver el problema de fragmentación de memoria CUDA?

Respuesta

3

¡Si se sale de la memoria debido a la fragmentación de la memoria, entonces hay algún error en la forma en que se trabaja con la memoria! Usted es responsable de fragmentar esa memoria, considerar un rediseño de su programa y, por ejemplo, usar un grupo de memoria para evitar demasiada nueva/eliminar para evitar la fragmentación de la memoria

+0

¿Dónde puedo leer sobre el uso del grupo de memoria? – Robotex

+0

¿Existe una biblioteca que implemente un grupo de memoria para CUDA? – Robotex

+0

Perdón por la respuesta tardía, eche un vistazo a 'libhoard'. No recuerdo el sitio, pero googlear 'libhoard' te ayudará. – BigBoss

Cuestiones relacionadas