Il y a belle et bien un système d'émulation.
Sinon je viens de faire un test de bande passante de ma 9600GT et voila ce que j'obtient :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Quick Mode
Host to Device Bandwidth for pageable memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1639.2
Quick Mode
Device to Host Bandwidth for pageable memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1673.2
Quick Mode
Device to Device Bandwidth for pageable memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 43401.5 |
Et avec de la memoire pinned :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Quick Mode
Host to Device Bandwidth for pinned memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3195.6
Quick Mode
Device to Host Bandwidth for pinned memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3242.6
Quick Mode
Device to Device Bandwidth for pinned memory.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 43383.4 |
Je testerais d'autres mode voir si il y a de gros changement de perf.
Sinon pour ce qui est des serveurs et des cartes graphiques il est effectivement dur de trouver des hébergeurs qui proposent ce genre de serveur mais si tu vas jusqu'à utiliser CUDA pour un serveur c'est que tu as un gros projet et que tu peux acheter tes serveurs et ensuite prendre un service de housing. Pour les serveurs supportant cuda regarde les Tesla S870 et S1070 ce sont 4 GPU dans un 1U.
- Est-il possible d'attribuer une surface mémoire système ?
Oui.
- Les perfs changent-elles ?
Si tu parles de la pinned memory effectivement, 2 fois plus rapide pour le transfert CPU <-> GPU.
Pinned :
cutilSafeCall( cudaMallocHost( (void**)&odata, memSize ) );
Pageable :
data = (unsigned char *)malloc( memSize );
Pour OpenCL effectivement ce n'est pas aussi intéressant que CUDA pour le moment du moins.
Partager