- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Dear all,
My Xeon PHI is ignoring the blocking flag in the enqueue[Read|Write]Buffer calls. They are always blocking ones. Are you having the same behaviour?
Thanks in advance,
Moisés
- Marcas:
- OpenCL*
- Professors
- Students
Link copiado
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
For example:
cQ.finish(); gettimeofday(); cQ.enqueueReadBuffer(CL_TRUE) <--- 1 second //foo/dummy loop <----------------------------------------100 seconds cQ.finish(); gettimeofday();
Total = 101 seconds
cQ.finish(); gettimeofday(); cQ.enqueueReadBuffer(CL_FALSE) <--- 1 second //foo/dummy loop <----------------------------------------100 seconds cQ.finish(); gettimeofday();
Total = 101 seconds!! (expected, 100 seconds)
Thank you so much, probably it is a very simple issue but I don't see where I am doing the mistake.
PS: The non-blocking case time doesn't change even we put a flush inmediately after the enqueueReadBuffer. Additionally, this "bad" behaviour also happens for NVIDIA cards (not for AMD/ATI cards where the calls are truly non-blocking).
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Thank you Yuri,
I send you a code that you use to check my problem. You only will have to decompress and compile using the Makefile.
My output is:
Time blocking transfer:0.999292 seconds
Time non-blocking transfer:0.999324 seconds
If you put the "dummy" loop inside a block of comments, I obtain:
Time blocking transfer:0.160764 seconds
Time non-blocking transfer:0.160766 seconds
This is, the memory copy lasts 0.16 seconds for the two cases (obviously)
I guess that my output should be:
Time blocking transfer:0.999292 seconds
Time non-blocking transfer:0.838563 seconds (0.999324-0.160764 seconds)
Where is the problem? I repeat that probably I have forgotten something or I have made a mistake, but I don't see where :/
Thank you so much again Yuri,
Moisés

- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora