@classmethod<EOL><INDENT>def srun_cartesian_product(cls, campaign, config):<DEDENT>
options = copy.copy(cls.common_srun_options(campaign))<EOL>options.update(config.get('<STR_LIT>') or {})<EOL>options_tuple = []<EOL>for k, v in options.items():<EOL><INDENT>if not isinstance(v, SEQUENCES):<EOL><INDENT>v = [v]<EOL><DEDENT>options_tuple.append([(k, e) for e in v])<EOL><DEDENT>return [dict(combination) for combination in itertools.product(*options_tuple)]<EOL>
:param campaign: global YAML configuration
:param config: benchmark YAML configuration