Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solver details #14

Merged
merged 10 commits into from
Nov 19, 2024
Merged

Solver details #14

merged 10 commits into from
Nov 19, 2024

Conversation

max-radin
Copy link
Contributor

@max-radin max-radin commented Nov 19, 2024

This PR makes a number of changes to the problem and solution schemas to allow for more details about the solver to be reported. See #12 for more context.

Note also that the plan is to not include aggregated resources in the schema (e.g. total number of T gates across all tasks). Instead, resources should be provided on a per-task basis and any desired aggregation can be done in post-processing.

Changes to problem schema:

  • data_instance_objects renamed to tasks for more clarity.
  • Added task_uuid field to elements of tasks.

Changes to solution schema:

  • Added optional classical_resources, quantum_resources, and solution_details fields to elements of solution_data.
  • Renamed instance_data_object_uuid to task_uuid.
  • Renamed compute_details to solver_details for consistency.
  • Added solver_uuid to solver_details.
  • Moved compute_hardware_type into solver_details.
  • run_time no longer required for resource estimates in order to allow for reporting of logical resource estimates.
  • Solutions only required to report the overall runtime. Breakdown into preprocessing etc. is now optional.
  • Added optional classical_hardware_details, quantum_hardware_details, algorithm_details, and software_details fields to solver_details.

@max-radin max-radin changed the title Max radin/solver details Solver details Nov 19, 2024
Copy link
Member

Choose a reason for hiding this comment

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

Please:

remove short_name from the top-level required fields

add solver_short_name as a required string field inside of the solver_details object. This is just a human-readable, possibly NOT unique field describing the solver. make it a required field.

any details on the classical_compute_details can be optional for now.

Currently I'm struggling with the premise that we have made some bespoke scripts and analysis that key off of FCIDUMP files specifically, not task_uuid. In general, I see the value of adding task_uuid to the problem_instance JSON.

Changing the problem_instance schema to include task_uuid will break some scripts and require updating and regression testing. I believe that our partners are also working on problem_instance.json files and they will have to update their JSON as well. Be sure to offer to help our partners update their problem_instance files.

@jtcantin
Copy link
Contributor

jtcantin commented Nov 19, 2024 via email

@jp7745
Copy link
Member

jp7745 commented Nov 19, 2024

task_uuid and instance_data_object_uuid should be separate UUIDs to key on for future flexibility. They should not be overloaded with the same value. New UUIDs should be generated for task_uuid when converting old-to-new problem_instance files. I hope that in the future we have more flexible inputs rather than just the FCIDUMP file format, but that's what we have at this time.

At this time, it's ok to update problem_instance.schema, but be sure to offer help to our partners to update to the new format during this Thursday's GSEE meeting.

@jp7745
Copy link
Member

jp7745 commented Nov 19, 2024

To clarify: I'm ok with updating problem_instance.schema to include task_uuid. I'm asking for additional minor changes to the solution.schema like removing short_name and adding solver_short_name to the solver_details object before we merge.

Note also that the automatic JSON validation script will probably trash all of our problem_instance files. You'll have to pull them out of the /json_files_with_errors directory.

@jtcantin
Copy link
Contributor

jtcantin commented Nov 19, 2024 via email

@jp7745 jp7745 marked this pull request as ready for review November 19, 2024 21:54
@jp7745 jp7745 merged commit 9d9edd3 into main Nov 19, 2024
0 of 2 checks passed
@jp7745 jp7745 deleted the max-radin/solver-details branch November 19, 2024 21:55
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.

3 participants