Well, the two programs are still very much in utero, so assume away. 
My own particular use cases are editor-type things, at the moment for generating various sorts of textures. These are computer vision-style operations, involving tons and tons of inter-pixel shenanigans, but the library is meant to let you commandeer the GPU to do big swaths of work simultaneously. The GPU being busy and all, it doesn’t really make sense to allow more than one instance to run the workhorse function at once.
That said, this is the sort of library that answers to the “how do I see if two images look alike?” and “how do I detect the beats in this music?” sort of questions, so it isn’t so far-fetched that a few programs would come of it, and thus be ready and waiting.
I’ve been leaning toward the pipes-with-unique name approach, say by some sort of hash with a salt. Some of this could then be fed via the command line to the new process and do double-duty filtering out spurious launches, from double clicks and what not. I’ll have to investigate further to see about some basic security measures, like guarding against someone swapping in impostor executables. Something along the lines of requiring a checksum, when a “release build” flag is set? Anyhow, I guess it only really matters if and when this stuff gets out into the wild. I still need to let these ideas work themselves out a bit. 