Per device tuning?
Is it possible to set different workload for multiple GPUs?  I'm using hashcat 3.10 in windows with 2 AMD gpus.  One is a older HD 6870 and the other is an older R9 270x.  If I benchmark them separately with -d 1 and later -d 2, speeds are as expected HD 6870 ~35khash wpa and R9 270x 90khash wpa.  However, when hashing using a worlist or mask, the HD 6870 runs at one third of that of the benchmark HD 6870 10khash and R9 270x 90khash. 

1.  can we tune each device separately?
2.  Can you speculate about why one card runs slower
Not from the commandline, but you can do this by editing the hashcat.hctune
Ahh, thanks! I was able to go from ~10Khash to ~68Khash. It's strange that the benchmark worked faster than the autotune out of the box.
Not really, speed depends on attack-mode (and other stuff). You just need to use -a 3 to get the same speed, with a mask that's large enough to keep the GPU busy. See here for more info: