Intel® Quantum SDK
Forum related to Intel Quantum SDK, a full-stack software kit for programming and executing algorithms on simulated quantum hardware.
37 Discussions

Help debugging variational quantum algorithm example

zachary-crockett
1,538 Views

Today, I was checking out @Shavi's variational quantum algorithm example post. I gathered the code in the PDF into one C++ file, and also downloaded the current version of dlib (ver. 19.24), and I submitted it as a job using qsub.

After about 18 minutes, the job finished unsuccessfully. It was job number 2285384 in case that's helpful to someone for internal debugging.

Before failing, the job generated output files source.ll, source_flattened.ll, and (much later) source_unrolled.ll_3. That last file is over 128 MB.

The error in the stderr file is:

/glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/LLVM-10.0.0-Linux/bin/opt: /home/uUSERID/project_dir/source_unrolled.ll_3:324093:387: error: use of undefined value '%for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for4'

and the offending line in source_unrolled.ll_3 is:

  %inc.i.i.i.i10 = phi i32 [ 8, %for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i.preheader ], [ %inc.i.i.i.i, %for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for.body_crit_edge.i_crit_edge.i_crit_edge.i_crit_edge.i.for.body.for.body_crit_edge.i.for.body.for4 ]

 Can anyone offer tips on how to debug or fix? Thanks!

Labels (1)
0 Kudos
4 Replies
KevinR_Intel
Moderator
1,533 Views

Hi Zachary,

Thanks for reporting this. I reached out to you by PM.

0 Kudos
KevinR_Intel
Moderator
1,511 Views

Thanks for sharing your source file with us. We’ll dig into this and provide a fully working recipe, complete with any build instructions and compilaton flags required.

0 Kudos
zachary-crockett
1,507 Views

No worries at all. I really appreciate the speedy help!

0 Kudos
KevinR_Intel
Moderator
1,330 Views
Reply