Skip to content

Explore possibility of swapping backends (xcale) #74

@leofang

Description

@leofang

Today @PabloEnfedaque flashed me quickly how xcale works and launches, and I realized it might be possible to use xcale as an alternative backend for our GUI. However, I overlooked there are a few more things to be done for the visualization purpose. Let me try to make a list of tasks toward this possibility. (Not saying we should do this, but it'd be a really good capability to have.)

On the frontend:

  • need to come up with a "dictionary" translating between our inputs and file format and that of xcale's (we'll have to do this for this week's CSX experiment anyway)
  • need to generate correctly the corresponding mpirun -n X command to launch xcale MPI processes (might be easier to write a separate worker class for xcale??)
  • need to have a drop-down menu to select a backend (which defaults to nsls2ptycho)
  • need to add a bunch of signals and guards to handle the behavior of existing buttons when xcale is selected (THIS IS THE MOST DIFFICULT TASK)

On the backend (requiring some code added in xcale; this is the part I overlooked):

  • need a bool flag to tell whether ptycho_gui is operational or not
  • need to have an optional dependency on posix_ipc (rel: Migrate from posix_ipc to built-in shared_memory for Python 3.8+ #71) for using shared memory
  • need to print a formatted stdout so that the frontend can catch the signals
  • need to write live results to shared memory for monitoring visually
  • (not sure) need to write post-processed results in a certain format so that the frondend can pick up at the end of reconstruction

cc: @stuartcampbell @xiaojinghuang @wen-hu

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions