Skip to content

Extend CompilerProfile to arbitrary input parameters #94

@v-vitale

Description

@v-vitale

CompilerProfile is used so far for only compiling according to some bounds of the Device (i.e max duration, or max amplitude).
This is not compatible with MockDevice where there should be no bound and some hard coded values are used.

I propose to extend CompilerProfile to be able to rescale b a custom value inserted by the user (that needs to have Pulser knowledge for this so I consider it an advanced feature)

Say CompilerProfile.duration( *arbitrary value of duration*) to allow a custom rescaling of the Drives

For MockDevice this would allow some rescaling since the standard CompilerProfiles would just rescale by arbitrary hard-coded values that do not have any meaning in the particular case.

Following #89 compiling by max_duration, max_amplitude and so on should throw an error when using MockDevice

Thoughts:

  1. If we allow arbitrary rescaling and disable default compiler profiles for for MockDevice are these value necessary?
    self._upper_duration = self._max_duration or UPPER_DURATION
    self._upper_amp = self._max_amp or UPPER_AMP
    self._upper_det = self._max_det or UPPER_DET
    self._lower_distance = self._min_distance or LOWER_DISTANCE

  2. MockDevice will set the conversion units through some hardcoded values (so we need them) but we must not use them to define compilation profiles.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions