I am developing a particle based fluid simulation application with CUDA. Now I am deciding between Titan X and Titan Z.(Price is no issue) I know Titan X is newer with Maxwell. But Titan Z is dual-core. Is there any modification you should make to your current code to make them dual-core compatible? Does dual-gpu card works as if there is only one gpu but has twice cuda cores? Thanks in advance
Here are some aspects you may want to consider:
(1) With a dual GPU card like the Titan-Z, in most cases your app would be responsible for distributing the work across the two GPUs. Note that each GPU is attached to it is own memory, the memory on a Titan-Z is not shared by the two GPUs.
(2) The Titan-Z is designed to support high-throughput double precision computations (needs to be enabled by the user through controls made available by NVIDIA). The Titan-X on the other hand has poor double precision performance (1/32 of the single-precision throughput or around 200 GFLOPS) which may be lower than the DP performance of your host system’s CPU, depending on what CPU you use.
(3) Dual-GPU cards like Titan-Z benefit high-density workstations, where space and available PCIe slots limit the total number of cards that can be fit into the machine. A system with four Titan-Zs results in an 8 GPU monster.