jansel / opentuner

An extensible framework for program autotuning
http://opentuner.org/
MIT License
392 stars 114 forks source link

parallelism #77

Open Bandd-k opened 8 years ago

Bandd-k commented 8 years ago

Hi! Could you explain how parallelism flag works please? I can't find differences between rosenbrock.py with parallelism and no. Thank you.

jbosboom commented 8 years ago

If the MeasurementInterface implementation sets self.parallel_compile = True, then the compile method will be called multiple times in parallel based on the value of the parallelism flag, followed by run_precompiled sequentially for each compiled version; run is not called.

run_precompiled is run sequentially under the assumption that running multiple trials in parallel will affect the fitness function, which is the case for OpenTuner's original application of program autotuning. If you're using OpenTuner for a general search problem where this doesn't hold, you can do the evaluation in compile and just return the result from run_precompiled (see how the Mario example does it). #24 is about implementing a MeasurementInterface subclass that does this automatically.

See also #69, which is also about documenting the parallelism flag.

Bandd-k commented 8 years ago

Thank you!!