1 |
On Thursday, September 10, 2015 12:20:39 PM james wrote: |
2 |
> You are taking a very conservative view of things. Codes being worked |
3 |
> out now for clusters, will find their way to expand the use of the |
4 |
> video card resources, for general purpose things. Most of this will |
5 |
> occur as compiler enhancements, not rewriting by hand or modifying |
6 |
> algorithmic designs of existing codes. Granted they are going to |
7 |
> mostly apply to multi-threaded application codes. |
8 |
|
9 |
Your being over-optimistic. It seems to me all they're hoping for is to define |
10 |
a standardized and portable high-level interface for programming accelerators. |
11 |
The ones that will benefit the most is the same applications that can benefit |
12 |
from lower level technologies like CUDA. Scientific/number crunching |
13 |
applications, some kinds of clustering, etc. |
14 |
|
15 |
With no synchronization most existing multithreaded designs cannot benefit from |
16 |
it. And obviously code running on the accelerator cannot branch into the CPU, |
17 |
so no system or library calls. That leaves only purely number crunching loops. |
18 |
There's little of that on desktop and few of them can be fully optimized for |
19 |
parallelization. And to be worth the overhead of offloading the CPU needs to be |
20 |
maxed out. That leaves only the few applications I mentioned before. |
21 |
|
22 |
I'm looking at Intel MICs[1] and those look a lot more promising though still |
23 |
of limited use for desktops. It uses OpenMP so it has a lot less restrictions |
24 |
than OpenACC (a few ebuilds in the tree can already benefit from it with minor |
25 |
patches) and you can even offload whole proccesses. You can even ssh to the MIC |
26 |
since it runs Linux. It's not for the average desktop but they're not too |
27 |
expensive either. It may be worth it for high-end gentoo workstation (you can |
28 |
offload compile jobs with distcc) and I got a project on the backburner that can |
29 |
benefit from it. |
30 |
|
31 |
Do you know of any plans to enable offloading on the gentoo toolchain? I was |
32 |
able to build the offloading compiler using crossdev with a few hacks and wrote |
33 |
an ebuild for Intel's simulator[2]. I will work on enabling the host compiler |
34 |
tomorrow and may open a feature request and post patches once I get it |
35 |
working. The changes needed to enable it on the host are pretty trivial. |
36 |
|
37 |
[1] https://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-codename-knights-corner |
38 |
|
39 |
-- |
40 |
Fernando Rodriguez |