Skip to content

Added SDK document.#46

Open
mpratola wants to merge 3 commits into
mainfrom
mp-bandsdk
Open

Added SDK document.#46
mpratola wants to merge 3 commits into
mainfrom
mp-bandsdk

Conversation

@mpratola

@mpratola mpratola commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@jared321

jared321 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

You have a decision to make about how you add OpenBT within the bandframework repo. Do you want to add it as

  1. a git submodule (example Taweret), in which case the SDK should be stored in this repo, or
  2. a folder that contains files that point to this repo (example PUQ), in which case the SDK should be stored in that folder?

Personally, I am not a big fan of submodules, which need to be updated at each release. For (2), writing a sufficiently minimal README that is not tied to a specific release should be possible.

@jared321 jared321 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Some thoughts based on an initial pass.

Comment thread OpenBTbandsdk.md Outdated
Comment thread OpenBTbandsdk.md Outdated
Comment thread OpenBTbandsdk.md Outdated
Comment thread OpenBTbandsdk.md Outdated
|**R5.**| Have SUPPORT, LICENSE, and CHANGELOG files in top directory. |Partial| LICENSE file provided. |
|**R6.**| Have sufficient documentation to support use and further development. |Partial| A readthedocs.io site is provided; some code examples in Examples directory. |
|**R7.**| Be buildable using 64-bit pointers; 32-bit is optional. |Partial| The C++ package is built for 64-bit. |
|**R8.**| Do not assume a full MPI communicator; allow for user-provided MPI communicator. |None| User-provided MPI communicator not currently supported. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Given that the design is geared toward command line tools rather than integrating your C++ code into a larger application, does this MPI requirement even apply to OpenBT? Would someone ever write a Python application that would want to assign only some of the MPI ranks to the openbt invocations of the C++ tools?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I did not think that is the only use-case for communicators(?). But my knowledge is very little in that direction - removed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do you have a particular use case in mind?

I am focusing on

user-provided MPI communicator

which I assume means that the user has programmatic access to OpenBT so that they can create a communicator and pass all of that communicator or a proper subcommunicator to OpenBT for its use. In the OpenBT case, users only have the ability to run the program via mpirun/mpiexec, which does not provide programmatic access.

It might be worthwhile explaining this particular limitation since it is MPI-based.

Comment thread OpenBTbandsdk.md Outdated
Comment thread OpenBTbandsdk.md Outdated
Some edits to SDK based on feedback in PR from Jared (#46)
@mpratola

mpratola commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

You have a decision to make about how you add OpenBT within the bandframework repo. Do you want to add it as

  1. a git submodule (example Taweret), in which case the SDK should be stored in this repo, or
  2. a folder that contains files that point to this repo (example PUQ), in which case the SDK should be stored in that folder?

Personally, I am not a big fan of submodules, which need to be updated at each release. For (2), writing a sufficiently minimal README that is not tied to a specific release should be possible.

If we do option #2, is there still a short-form URL to the OpenBT repo? The URL for PUQ is long and messy.

@jared321

jared321 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

If we do option #2, is there still a short-form URL to the OpenBT repo? The URL for PUQ is long and messy.

Which PUQ URL are you referring to?

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