Software behavior inquiry?

lightp2

Gawd
Joined
Oct 28, 2009
Messages
672
Dear Mod,
I could not identify the exact forum for this post. Please kindly relocate if necessary.
----------------------

This is an inquiry before exploring with actual resource commitment.

Based on the current common understanding or any other advance info.

If I build a "World Peace" desktop setup near or mid-future

1. Intel Processor with GPU built-in
2. Intel Motherboard with 2 x PCI-Express x16 slots. either 2x16x or x8+x8 config. Even more slots obviously good but perhaps too expensive.
3. AMD Radeon 5xxx or 6xxx low-mid range DirectX 11
4. nVidia Geforce 4xxx low-mid range DirectX 11

note: I can go alternate AMD build but Intel does not sell VGA card. Not enough money to buy all high-end VGA cards.

If I activated all of them (is it possible under Windows 7 or Fedora Linux?), when the recent GPU enhanced computing is fully operational, may I know which will get priority? or will all of them get activated and combined together?

Since this setup supports all computation forms, CPU/SSEx/AVX, GPU CUDA/OpenCL/DirectCompute, driver optimization, multicore, multi-shaders, multi-screen computing, visualization, VT-D to let VM pick whatever hardware config it desire for testing.
It looks to me like it will be good for all round usage testing. Can the generic gaming take advantage of such config? instead of arguing which side is better, we have a setup that keeps everybody happy.

It would be great if a software load balancing operation is possible. I understand there's a BigBang motherboard hardware option, but this investigated setup is likely higher-level partial generic software oriented.

This mid-range setup is actually very like to happen as AMD integrates GPU on-die. Having APU with discreet nVidia Geforce card may not be uncommon. Intel Larrabee or SB graphic can complete the picture if add-on card is available.
 
I'm sorry, but I am really confused as to what you're asking. I probably won't be the only one.

You're looking to build a system with a newer Intel CPU that has the on-die GPU, correct?
And you're also wanting to install an AMD PCI-E and NVidia PCI-E on-board video cards, correct?

and you're wondering if there will be any way to tell an application to run on a particular GPU?
 
Yes, I am confused as well :) therefore the question.

Under this setup, since I have potentially 3 VGA tech in force. Say example, Intel SB, Radeon and Geforce

1. There are many newer generic software (on incoming) that all claim GPU-enhanced.
2. When they start up on this environment, all GPU enhanced options are available. Will the software actively engaged all of them, or they will go through a selection process to pick one of them? How the selection or priority works? Can we combine them? The last question is obviously more towards the computation aspects.

3. let say I prefer Intel SB for low-power work and connect the monitor to motherboard VGA port. But now perhaps some experiments like to engage the Radeon and Geforce for computation and visualization, is it possible? Meaning draw on GPU and GPGPU facilities of Radeon/Geforce to work nicely with Intel graphic?

Clarification : currently I think we are on the scheme when we are either on Intel VGA or switched to nVidia (optimus) or Radeon mobile completely. It is good in mobile to conserve energy but perhaps desktop can activate all of them together. Is it possible? So that entry level can run on Intel VGA, but intensive work can activate and combine all facilities of Radeon/Geforce and pump them through Intel VGA connection? Conversely, I can run program and display on multi-monitors connected to both Radeon/Geforce?

There are likely more examples but I could not think clearly now. I am mostly on integrated graphic for all these years so pardon my ignorants. My apology if all concepts are wrong
 
Additional note on the VT-D note

For software testing, example
1. main computer on Intel VGA.
2. VT-D dedicate Geforce to VM for GPU/CUDA test. Can we connect monitor to Geforce for live action?
3. VT-D dedicate Radeon to VM for GPU/OpenCL test. Can we connect monitor to Radeon for live action?

probably many more testing scenario

Edit : I am also interested to understand how OpenCL/DirectCompute works between all of the elements under the original condition.
 
I think he is asking if hypothetically he setup a system with a GPU capable of GPUPU operations from each of the 3 main developers which have their own standards -

ATI - OpenCL
Nvidia - Cuda
Intel - x86

How a GPUPU capable program would know which one to use. And whether or not it could use all 3 at once.

Also if he were to run a game, which GPU would be engaged to run it.
 
I think he is asking if hypothetically he setup a system with a GPU capable of GPUPU operations from each of the 3 main developers which have their own standards -

ATI - OpenCL
Nvidia - Cuda
Intel - x86

How a GPUPU capable program would know which one to use. And whether or not it could use all 3 at once.

Also if he were to run a game, which GPU would be engaged to run it.

ok, that makes sense.

Well, I would think if an application was programmed to use the capabilities of, say, Cuda, it would know what card to use; since only one would be detected as "compatible"
If an app is programmed to take advantage of multiple, I would *think* it would ask which to use; but that would depend on how the application is programmed. There is no "correct" answer, as it's dependent on how the application was coded.

As for assigning a specific card to a specific VM; not to my knowledge. But, I don't know exactly how the hardware virtualization technologies really work. That question would probably fit best in the virtualized computing sub-forum.
 
yes you are mostly right and the scenario is rather wide. For example

Upon start-up

1. OpenCL can target Intel/AMD CPU, Radeon GPU and Geforce GPU
2. For newer upcoming processor in Intel SB/AMD Bulldozer, the new instructions. (honestly I dont understand them, but apparently reading a lot allows me materials for posting :) )
3. DirectCompute available for Geforce and Radeon. I am not sure about SB graphic for now. Obviously CUDA for only Geforce card

I give a relative example to illustrate because it is difficult to comment on a lot of uncertainties.

1. In older Linux kernel boot, it will perform some tests to check for, example testing speed for MMX, SSE, SSE2, misc and select one suitable. In this particular case it is still selecting only one.

I understand a lot depends on software, therefore my inquiry on software behavior. Maybe not all software, but at least those expensive software.

My inquiry is to find out whether the necessary software will activate all of them. If a job is more suitable for CUDA it will activate CUDA processing. If GPU not enough will it activate the newer CPU AVX processing facilities. or ultimately adopt the Unix philosophy,

Example we could have many simple programs that perform one thing effectively. Maybe some are CUDA-based, some are OpenCL based and some are AVX-optimized. Each one is computation dependent, and when necessary after kernel probe the facilities information, we just call the programs and pipe them up and down like the existing Unix shell.

Anyhow programming is beyond me for now. My interest is what will the expensive commercial software do, and whether OS kernel will intervene in future to coordinate
 
Last edited:
Back
Top