Take a BinaryFunction instead of an mgpu op