smartdashboard


Namesmartdashboard JSON
Version 0.0.3 PyPI version JSON
download
home_page
SummaryVisualize SmartSim Experiments
upload_time2024-02-15 18:46:11
maintainer
docs_urlNone
author
requires_python<3.11,>=3.8
licenseBSD 2-Clause License
keywords scientific ai workflow hpc analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SmartDashboard

SmartDashboard is an add-on to SmartSim that provides a dashboard to help users understand and monitor their SmartSim experiments in a visual way. Configuration, status, and logs are available for all launched entities within an experiment for easy inspection.

A ``Telemetry Monitor`` is a background process that is launched along with the experiment
that produces the data displayed by SmartDashboard. The ``Telemetry Monitor`` can be disabled by
adding ``export SMARTSIM_TELEMETRY_ENABLE=0`` as an environment variable. When disabled, SmartDashboard
will not display any data. To re-enable, set the ``SMARTSIM_TELEMETRY_ENABLE`` environment variable to ``1``
with ``export SMARTSIM_TELEMETRY_ENABLE=1``.

Experiment metadata is also stored in the ``.smartsim`` directory, a hidden folder for internal api use and used by the dashboard.
Deletion of the experiment folder will remove all experiment metadata.

## Installation

It's important to note that SmartDashboard only works while using SmartSim, so SmartSim will need to be installed as well.
SmartSim installation docs can be found [here](https://www.craylabs.org/docs/installation_instructions/basic.html).

### User Install

Run `pip install smartdashboard` to install SmartDashboard without cloning the repository.

### Developer Install

Clone the `SmartDashboard` repository at https://github.com/CrayLabs/SmartDashboard.git

Once cloned, `cd` into the repository and run:

```pip install -e .```

## Running SmartDashboard

After launching a SmartSim experiment, the dashboard can be launched using SmartSim's CLI.
  
```smart dashboard --port <port number> --directory <experiment directory path>```
  
The port can optionally be specified, otherwise the dashboard port will default to `8501`.
The directory must be specified and should be a relative or absolute path to the created experiment directory.

Example workflow:

```bash
# directory before running experiment
├── hello_world.py
```

```python
# hello_world.py
from smartsim import Experiment

exp = Experiment("hello_world_exp", launcher="auto")
run = exp.create_run_settings(exe="echo", exe_args="Hello World!")
run.set_tasks(60)
run.set_tasks_per_node(20)

model = exp.create_model("hello_world", run)
exp.start(model, block=True, summary=True)
```

```bash
# in interactive terminal
python hello_world.py
```

```bash
# directory after running experiment
├── hello_world.py
└── hello_world_exp
```

By default, `hello_world_exp` is created in the directory of the driver script.

```bash
# in a different interactive terminal
smart dashboard --port 8888 --directory hello_world_exp
```

The dashboard will automatically open in a browser at port 8888 when `smart dashboard ...` 
is invoked locally.

> If the dashboard is executed remotely, establishing port-forwarding to the
> remote machine will be necessary. This may be accomplished with ssh as follows:
>
> ```bash
> # using ssh to establish port forwarding 
> ssh -L [local-addr]:<local-port>:<remote-addr>:<remote-port> <user-id>@<remote-addr>
> # example forwarding the remote port 8888 to localhost:8000
> ssh -L localhost:8000:super1.my.domain.net:8888 smartdash@super1.my.domain.net
> ```
>
> After establishing the port-forwarding, a local browser can be pointed at the appropriate 
> URL, such as `http://localhost:8000` for the example above.

The dashboard is also persistent, meaning that a user can still launch and use the dashboard even after the experiment has completed.

## Using SmartDashboard

Once the dashboard is launched, a browser will open to `http://localhost:<port>`. SmartDashboard currently has two tabs on the left hand side.
  
`Experiment Overview:` This tab is where configuration information, statuses, and logs are located for each launched entity of the experiment. The `Experiment` section displays configuration information for the overall experiment and its logs. In the `Applications` section, also known as SmartSim `Models`, select a launched application to see its status, what it was configured with, and its logs. The `Orchestrators` section also provides configuration and status information, as well as logs per shard for a selected orchestrator. Finally, in the `Ensembles` section, select an ensemble to see its status and configuration. Then select any of its members to see its status, configuration, and logs.
  
`Help:` This tab links to SmartSim documentation and provides a SmartSim contact for support.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "smartdashboard",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "<3.11,>=3.8",
    "maintainer_email": "",
    "keywords": "scientific,ai,workflow,hpc,analysis",
    "author": "",
    "author_email": "\"CrayLabs: a Hewlett Packard Enterprise OSS Organization\" <craylabs@hpe.com>",
    "download_url": "https://files.pythonhosted.org/packages/22/46/43c8ce48df7830c6448046f023c6061d5c17736708e660cd74fb06eecfc7/smartdashboard-0.0.3.tar.gz",
    "platform": null,
    "description": "# SmartDashboard\n\nSmartDashboard is an add-on to SmartSim that provides a dashboard to help users understand and monitor their SmartSim experiments in a visual way. Configuration, status, and logs are available for all launched entities within an experiment for easy inspection.\n\nA ``Telemetry Monitor`` is a background process that is launched along with the experiment\nthat produces the data displayed by SmartDashboard. The ``Telemetry Monitor`` can be disabled by\nadding ``export SMARTSIM_TELEMETRY_ENABLE=0`` as an environment variable. When disabled, SmartDashboard\nwill not display any data. To re-enable, set the ``SMARTSIM_TELEMETRY_ENABLE`` environment variable to ``1``\nwith ``export SMARTSIM_TELEMETRY_ENABLE=1``.\n\nExperiment metadata is also stored in the ``.smartsim`` directory, a hidden folder for internal api use and used by the dashboard.\nDeletion of the experiment folder will remove all experiment metadata.\n\n## Installation\n\nIt's important to note that SmartDashboard only works while using SmartSim, so SmartSim will need to be installed as well.\nSmartSim installation docs can be found [here](https://www.craylabs.org/docs/installation_instructions/basic.html).\n\n### User Install\n\nRun `pip install smartdashboard` to install SmartDashboard without cloning the repository.\n\n### Developer Install\n\nClone the `SmartDashboard` repository at https://github.com/CrayLabs/SmartDashboard.git\n\nOnce cloned, `cd` into the repository and run:\n\n```pip install -e .```\n\n## Running SmartDashboard\n\nAfter launching a SmartSim experiment, the dashboard can be launched using SmartSim's CLI.\n  \n```smart dashboard --port <port number> --directory <experiment directory path>```\n  \nThe port can optionally be specified, otherwise the dashboard port will default to `8501`.\nThe directory must be specified and should be a relative or absolute path to the created experiment directory.\n\nExample workflow:\n\n```bash\n# directory before running experiment\n\u251c\u2500\u2500 hello_world.py\n```\n\n```python\n# hello_world.py\nfrom smartsim import Experiment\n\nexp = Experiment(\"hello_world_exp\", launcher=\"auto\")\nrun = exp.create_run_settings(exe=\"echo\", exe_args=\"Hello World!\")\nrun.set_tasks(60)\nrun.set_tasks_per_node(20)\n\nmodel = exp.create_model(\"hello_world\", run)\nexp.start(model, block=True, summary=True)\n```\n\n```bash\n# in interactive terminal\npython hello_world.py\n```\n\n```bash\n# directory after running experiment\n\u251c\u2500\u2500 hello_world.py\n\u2514\u2500\u2500 hello_world_exp\n```\n\nBy default, `hello_world_exp` is created in the directory of the driver script.\n\n```bash\n# in a different interactive terminal\nsmart dashboard --port 8888 --directory hello_world_exp\n```\n\nThe dashboard will automatically open in a browser at port 8888 when `smart dashboard ...` \nis invoked locally.\n\n> If the dashboard is executed remotely, establishing port-forwarding to the\n> remote machine will be necessary. This may be accomplished with ssh as follows:\n>\n> ```bash\n> # using ssh to establish port forwarding \n> ssh -L [local-addr]:<local-port>:<remote-addr>:<remote-port> <user-id>@<remote-addr>\n> # example forwarding the remote port 8888 to localhost:8000\n> ssh -L localhost:8000:super1.my.domain.net:8888 smartdash@super1.my.domain.net\n> ```\n>\n> After establishing the port-forwarding, a local browser can be pointed at the appropriate \n> URL, such as `http://localhost:8000` for the example above.\n\nThe dashboard is also persistent, meaning that a user can still launch and use the dashboard even after the experiment has completed.\n\n## Using SmartDashboard\n\nOnce the dashboard is launched, a browser will open to `http://localhost:<port>`. SmartDashboard currently has two tabs on the left hand side.\n  \n`Experiment Overview:` This tab is where configuration information, statuses, and logs are located for each launched entity of the experiment. The `Experiment` section displays configuration information for the overall experiment and its logs. In the `Applications` section, also known as SmartSim `Models`, select a launched application to see its status, what it was configured with, and its logs. The `Orchestrators` section also provides configuration and status information, as well as logs per shard for a selected orchestrator. Finally, in the `Ensembles` section, select an ensemble to see its status and configuration. Then select any of its members to see its status, configuration, and logs.\n  \n`Help:` This tab links to SmartSim documentation and provides a SmartSim contact for support.\n",
    "bugtrack_url": null,
    "license": "BSD 2-Clause License",
    "summary": "Visualize SmartSim Experiments",
    "version": "0.0.3",
    "project_urls": {
        "Documentation": "https://github.com/CrayLabs/SmartDashboard",
        "Homepage": "https://www.craylabs.org",
        "Repository": "https://github.com/CrayLabs/SmartDashboard"
    },
    "split_keywords": [
        "scientific",
        "ai",
        "workflow",
        "hpc",
        "analysis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "784ffcc155731ab026eaf2b02c6ae9570c1a7c05d052e6fdd267ab1b9dc2561b",
                "md5": "4a1da07a5a505842bf842fe125e7f6ae",
                "sha256": "0a4244dc5498c08bc4b759bae29e289c42da5abf13365bf513975b37babfc439"
            },
            "downloads": -1,
            "filename": "smartdashboard-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4a1da07a5a505842bf842fe125e7f6ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.11,>=3.8",
            "size": 51211,
            "upload_time": "2024-02-15T18:46:09",
            "upload_time_iso_8601": "2024-02-15T18:46:09.608377Z",
            "url": "https://files.pythonhosted.org/packages/78/4f/fcc155731ab026eaf2b02c6ae9570c1a7c05d052e6fdd267ab1b9dc2561b/smartdashboard-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "224643c8ce48df7830c6448046f023c6061d5c17736708e660cd74fb06eecfc7",
                "md5": "f92dd718ec3218c5c5b0b0a0854ef4c2",
                "sha256": "5c3956a660073bea1032748ce6a6afdc09a0e7f58af418161aacb1b023592c04"
            },
            "downloads": -1,
            "filename": "smartdashboard-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "f92dd718ec3218c5c5b0b0a0854ef4c2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.8",
            "size": 40866,
            "upload_time": "2024-02-15T18:46:11",
            "upload_time_iso_8601": "2024-02-15T18:46:11.506887Z",
            "url": "https://files.pythonhosted.org/packages/22/46/43c8ce48df7830c6448046f023c6061d5c17736708e660cd74fb06eecfc7/smartdashboard-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-15 18:46:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CrayLabs",
    "github_project": "SmartDashboard",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "smartdashboard"
}
        
Elapsed time: 0.18169s