Skip to content

Adaptive Profile support for CPU-full-state and Clifford simulators#3086

Open
orpuente-MS wants to merge 11 commits intomainfrom
oscarpuente/adaptive-support-for-cpu-simulators
Open

Adaptive Profile support for CPU-full-state and Clifford simulators#3086
orpuente-MS wants to merge 11 commits intomainfrom
oscarpuente/adaptive-support-for-cpu-simulators

Conversation

@orpuente-MS
Copy link
Copy Markdown
Contributor

@orpuente-MS orpuente-MS commented Apr 1, 2026

This PR extends the work in #3039 by adding Adaptive Profile support for the CPU-full-state and Clifford simulators.

It also fixes a bug in which the GPU simulator was not using dynamic angles for rotation gates.

@orpuente-MS orpuente-MS marked this pull request as ready for review April 2, 2026 22:59
Comment on lines +261 to +278
# Override s, s_adj, and z noise if they are unset
# and rz noise is set.
if noise and not noise.rz.is_noiseless():
if noise.s.is_noiseless():
noise.s.x = noise.rz.x
noise.s.y = noise.rz.y
noise.s.z = noise.rz.z
noise.s.loss = noise.rz.loss
if noise.s_adj.is_noiseless():
noise.s_adj.x = noise.rz.x
noise.s_adj.y = noise.rz.y
noise.s_adj.z = noise.rz.z
noise.s_adj.loss = noise.rz.loss
if noise.z.is_noiseless():
noise.z.x = noise.rz.x
noise.z.y = noise.rz.y
noise.z.z = noise.rz.z
noise.z.loss = noise.rz.loss
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This logic was previously in cpu_simulators.rs, but it is very specific to the device; now that the run_qir function is being used more widely, it makes sense to move it here. Also, the GPU simulator was missing this logic, putting it here makes it common for all simulators available to the NeutralAtomDevice class

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants