Here's the content of my app_config.xml file that enables two parallel PPS Sieve tasks on a single (770) card. This file goes in the projects/www.primegrid.com directory:
For genefer, I'd imagine you'd just need to replace the "pps_sr2sieve" with the genefer app name, which I think is "genefer" or "genefer_wr", but check that in your client_state.xml file. To make settings for both PPS/Sieve and Genefer, I think you'd replicate everything between (and including) the <app> tags, changing the <name> appropriately.
For assigning specific subprojects to specific GPUs, I've never tried that. However, you might try the <exclude_gpu> tag in app_config.xml. Documentation is here: http://boinc.berkeley.edu/wiki/client_configuration. So maybe you could exclude GPU 0 for sieve and exclude GPU 1 for genefer. At least that's the way I read the documentation.
My <max_concurrent> is set to 4 above, so as to allow 2 GPU and 2 CPU tasks to run (that was for the December challenge). Currently my prefs disable CPU sieve work, so just 2 GPU tasks are running.
It is necessary to have a reasonably current version of BOINC installed for this to work. 6.x.x is definitely too old. I think 7.0.40-something is okay.