3 Replies Latest reply on Mar 27, 2008 12:33 AM by michael.chu

    Multiple GPUs & single/multiple HD3870 X2

    bayoumi
      Hi Michael,
      This is a long list of "related" questions, so take your time and make yourself some fresh coffee first...

      I am reading in the beta1.0 release notes that HD3870 X2 can be used. Please let me clear some confusion, with reference to "amd-cal-readme-win.txt":

      1- When you mean dual GPU operations for HD3870 X2, you mean dual cores on only one card. i.e. Can I run two HD3870 X2 with total of 4 cores?

      2- It is mentioned that cross fire is needed for the X2, does this apply when we work with single X2 card?

      3- It is mentioned that crossfire takes half of the local memory, and at the same time the X2 needs it, which means I will end up with only 512MG total for both cores?

      4- I read somewhere that the X2 uses PCI-E gen1 not gen2:
      http://www.digital-daily.com/v...deon_hd_3870_x2/print

      5- The last version of ACML (v0.1) which I have downloaded says it does not support multiple GPUs. Has that changed for either double HD3870 or double HD3870X2?

      6- Do we have control from Brook or CAL to control which card of the two (or which of the cores on the X2) the CPU selects for stream write/read?

      7- For the spider platform using 790FX, is the 16X HT3.0 mapped using a switch to only one of the PCI-E2 16x slots at a time, or can I map for example to two 8X lanes on the HT and send simultaneously to both PCI-E2 slots on 8x each? A related question is if we can communicate with the GPUs on 8X instead of 16x lanes?

      All these questions are related to trying to develop a mathematical model for the data flow: both latency and throughput, and to make an educated decision on when for example to make a calculation on a quad core and not GPU


      Thank you
      Amr
        • Multiple GPUs & single/multiple HD3870 X2
          michael.chu
          Hi Amr,

          Let me answer these one at a time... :-)

          1) When you mean dual GPU operations for HD3870 X2, you mean dual cores on only one card. i.e. Can I run two HD3870 X2 with total of 4 cores?

          => You should theoretically be able to do that, although we have not actually tested that configuration.

          2) It is mentioned that cross fire is needed for the X2, does this apply when we work with single X2 card?

          => Yes, because a single X2 card is also connected together using CrossFire. I believe the readme is actually referring to dual GPU operation in terms of using both GPUs on a single X2. This is necessary so that both GPUs on the X2 are activated.

          3) It is mentioned that crossfire takes half of the local memory, and at the same time the X2 needs it, which means I will end up with only 512MG total for both cores?

          => What is happening is with CrossFire, memory allocations are mirrored across both GPUs. So, when you allocate 512MB, it is being done on both GPUs and taking up 1GB. This is the nature of a CrossFire configuration.

          4) I read somewhere that the X2 uses PCI-E gen1 not gen2:

          => When I looked up the specs on the PCIe switch used on the X2, it looks like it is a gen 1 chip.

          5) The last version of ACML (v0.1) which I have downloaded says it does not support multiple GPUs. Has that changed for either double HD3870 or double HD3870X2?

          => Not yet. The ACML team will take advantage of multiple GPUs where it makes sense. For now, their efforts are on adding more GPU acceleration to the library.

          6) Do we have control from Brook or CAL to control which card of the two (or which of the cores on the X2) the CPU selects for stream write/read?

          => Yes. For Brook+, setting the environment variable BRT_ADAPTER=0 will go to GPU0 and BRT_ADAPTER=1 will go to GPU1. On CAL, calling calDeviceOpen() with the proper index for the card you want will do it.

          7) For the spider platform using 790FX, is the 16X HT3.0 mapped using a switch to only one of the PCI-E2 16x slots at a time, or can I map for example to two 8X lanes on the HT and send simultaneously to both PCI-E2 slots on 8x each? A related question is if we can communicate with the GPUs on 8X instead of 16x lanes?

          => I'll be honest and say that I do not know those details about the 790FX. Can you repost on "General Discussions" this one question to see if someone from the chipset team can answer? :-)

          Michael.
          • Multiple GPUs & single/multiple HD3870 X2
            bayoumi
            Thanks Michael,
            Here is what I think I understand:
            - when using 2 cards of either HD3870 or StreamFire connected to two PCI-E slots, we have the option of not using crossfire, and work with them as two independent "unrelated" units by the SDK?
            - The X2 card does not allow treating the two GPU cores & their associated memory as independent two "virtual card with 512MB each"

            Am I correct?
            Best Regards
            Amr