Software Archive
Read-only legacy content
17061 Discussions

Asynchronous computation on XeonPhi using offload

Błażej_G_
Beginner
379 Views

Hi,

I would like to run many offloaded regions simultaneously, so their execution overlaps. Is it possible?

I know something about asynchronous offload controlled by signal, but I can not execute next section, when previous was not finished.

I want to simulate processing requests by host(server) from external client, using Xeon Phi to process single requests (one thread on Phi process one request). So I want to send some data to execute by single threat, then send another data to execute by new threat, etc. I do not want send all data immediately, but I don't want wait for result from first offloaded regions before starting next section, too.

Can you help me, how can I do it?

I know, that this solution with offloaded regions is not efficient for my problem. But it is purely academic attempt to solve the problem.

Thanks!

 

EDIT - I forgot say that I can use only 14.0.3 compiler.

0 Kudos
2 Replies
Rajiv_D_Intel
Employee
379 Views

You could try the "streams" feature in the latest 16.0 compiler.

Create a number of streams, and offload work into them in round-robin fashion. This will be good enough if each offload takes about the same amount of time. While each stream will do its offloads sequentially, processing will be concurrent across streams. This way you don't need signals and explicit asynchronous programming.

I suggest using one or more whole cores for each stream, not a single thread as you have proposed.

0 Kudos
Błażej_G_
Beginner
379 Views

Thanks for your answer, but I forgot say that I could use only 14.0.3 compiler.

Have anyone got some solution for this version of compiler?

0 Kudos
Reply