# backend.ai-accelerator-mock
A mockup plugin for accelerators
This plugin deceives the agent and manager to think as if there are accelerator devices.
The configuration follows `mock-accelerator.toml` placed in the same location of `agent.toml`.
Please refer the sample configurations in the `configs/accelerator` directory and copy one of them as a starting point.
The statistics are randomly generated in reasonable ranges, but it may seem like "jumping around" because there is no smoothing mechanism of generated values.
The configurations for fractional/discrete mode, fraction size, and device masks in etcd are exactly same as the original plugin.
## Notes when setting up mock CUDA devices
The containers are created without any real CUDA device mounts but with `BACKENDAI_MOCK_CUDA_DEVICES` and `BACKENDAI_MOCK_CUDA_DEVICE_COUNT` environment variables.
Since the manager does not know if the reported devices are real or not, you can start any CUDA-only containers (but of course they won't work as expected).
Raw data
{
"_id": null,
"home_page": "https://github.com/lablup/backend.ai",
"name": "backend.ai-accelerator-mock",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.13",
"maintainer_email": null,
"keywords": null,
"author": "Lablup Inc. and contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/72/97/7298445b33faef71678ebcfe4a89a25018736fcc6d4d62d0623073d171b5/backend_ai_accelerator_mock-25.11.2.tar.gz",
"platform": null,
"description": "# backend.ai-accelerator-mock\n\nA mockup plugin for accelerators\n\nThis plugin deceives the agent and manager to think as if there are accelerator devices.\nThe configuration follows `mock-accelerator.toml` placed in the same location of `agent.toml`.\nPlease refer the sample configurations in the `configs/accelerator` directory and copy one of them as a starting point.\n\nThe statistics are randomly generated in reasonable ranges, but it may seem like \"jumping around\" because there is no smoothing mechanism of generated values.\nThe configurations for fractional/discrete mode, fraction size, and device masks in etcd are exactly same as the original plugin.\n\n## Notes when setting up mock CUDA devices\n\nThe containers are created without any real CUDA device mounts but with `BACKENDAI_MOCK_CUDA_DEVICES` and `BACKENDAI_MOCK_CUDA_DEVICE_COUNT` environment variables.\nSince the manager does not know if the reported devices are real or not, you can start any CUDA-only containers (but of course they won't work as expected).\n",
"bugtrack_url": null,
"license": "LGPLv3",
"summary": "Backend.AI Mockup Accelerator Plugin",
"version": "25.11.2",
"project_urls": {
"Documentation": "https://docs.backend.ai/",
"Homepage": "https://github.com/lablup/backend.ai",
"Source": "https://github.com/lablup/backend.ai"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a30e176f12bdd37d2ef1727cf84160ccf632cb4e34aaacf61d2dcccc0830e188",
"md5": "1c183b1f7441acd255e38119ea14d730",
"sha256": "a89cb32f6eb761c0b2408e4f61b1a214ce953af1189b52c9204307f54fedb8c5"
},
"downloads": -1,
"filename": "backend_ai_accelerator_mock-25.11.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c183b1f7441acd255e38119ea14d730",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.13",
"size": 11977,
"upload_time": "2025-07-15T16:26:15",
"upload_time_iso_8601": "2025-07-15T16:26:15.272560Z",
"url": "https://files.pythonhosted.org/packages/a3/0e/176f12bdd37d2ef1727cf84160ccf632cb4e34aaacf61d2dcccc0830e188/backend_ai_accelerator_mock-25.11.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "72977298445b33faef71678ebcfe4a89a25018736fcc6d4d62d0623073d171b5",
"md5": "fccfef30d970ab63fb2271943e3a4c96",
"sha256": "7a3f13e715df485e25bad4f091e757de5a49b61ac7f5a97486a602c9f956330c"
},
"downloads": -1,
"filename": "backend_ai_accelerator_mock-25.11.2.tar.gz",
"has_sig": false,
"md5_digest": "fccfef30d970ab63fb2271943e3a4c96",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.13",
"size": 12071,
"upload_time": "2025-07-15T16:26:42",
"upload_time_iso_8601": "2025-07-15T16:26:42.748017Z",
"url": "https://files.pythonhosted.org/packages/72/97/7298445b33faef71678ebcfe4a89a25018736fcc6d4d62d0623073d171b5/backend_ai_accelerator_mock-25.11.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-15 16:26:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lablup",
"github_project": "backend.ai",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiodataloader",
"specs": [
[
"~=",
"0.4.2"
]
]
},
{
"name": "aiodocker",
"specs": [
[
"==",
"0.24.0"
]
]
},
{
"name": "aiofiles",
"specs": [
[
"~=",
"24.1.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
"~=",
"3.11.16"
]
]
},
{
"name": "aiohttp_cors",
"specs": [
[
"~=",
"0.8.1"
]
]
},
{
"name": "aiohttp_jinja2",
"specs": [
[
"~=",
"1.6"
]
]
},
{
"name": "aiohttp_sse",
"specs": [
[
">=",
"2.2"
]
]
},
{
"name": "aiodns",
"specs": [
[
"==",
"3.2"
]
]
},
{
"name": "aiomonitor",
"specs": [
[
"~=",
"0.7.0"
]
]
},
{
"name": "aioresponses",
"specs": [
[
">=",
"0.7.3"
]
]
},
{
"name": "aiosqlite",
"specs": [
[
"~=",
"0.21.0"
]
]
},
{
"name": "aiosignal",
"specs": [
[
"==",
"1.3.2"
]
]
},
{
"name": "aiotools",
"specs": [
[
"~=",
"1.9.0"
]
]
},
{
"name": "aiotusclient",
"specs": [
[
"~=",
"0.1.4"
]
]
},
{
"name": "alembic",
"specs": [
[
"~=",
"1.13.2"
]
]
},
{
"name": "appdirs",
"specs": [
[
"~=",
"1.4.4"
]
]
},
{
"name": "async_timeout",
"specs": [
[
"~=",
"4.0"
]
]
},
{
"name": "asyncpg",
"specs": [
[
">=",
"0.29.0"
]
]
},
{
"name": "asynctest",
"specs": [
[
">=",
"0.13.0"
]
]
},
{
"name": "asyncudp",
"specs": [
[
">=",
"0.11"
]
]
},
{
"name": "attrs",
"specs": [
[
">=",
"25.3"
]
]
},
{
"name": "bcrypt",
"specs": [
[
"~=",
"4.2.0"
]
]
},
{
"name": "boto3",
"specs": [
[
"~=",
"1.35"
]
]
},
{
"name": "cachetools",
"specs": [
[
"~=",
"5.5.0"
]
]
},
{
"name": "callosum",
"specs": [
[
"~=",
"1.0.3"
]
]
},
{
"name": "cattrs",
"specs": [
[
"~=",
"24.1.1"
]
]
},
{
"name": "click",
"specs": [
[
"~=",
"8.1.7"
]
]
},
{
"name": "coloredlogs",
"specs": [
[
"~=",
"15.0"
]
]
},
{
"name": "colorama",
"specs": [
[
">=",
"0.4.6"
]
]
},
{
"name": "cryptography",
"specs": [
[
">=",
"44.0.2"
]
]
},
{
"name": "dataclasses-json",
"specs": [
[
"~=",
"0.5.7"
]
]
},
{
"name": "faker",
"specs": [
[
"~=",
"24.7.1"
]
]
},
{
"name": "graphene",
"specs": [
[
"~=",
"3.3.0"
]
]
},
{
"name": "graypy",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "humanize",
"specs": [
[
">=",
"3.1.0"
]
]
},
{
"name": "ifaddr",
"specs": [
[
"~=",
"0.2"
]
]
},
{
"name": "inquirer",
"specs": [
[
"~=",
"3.3.0"
]
]
},
{
"name": "janus",
"specs": [
[
"~=",
"2.0"
]
]
},
{
"name": "Jinja2",
"specs": [
[
"~=",
"3.1.6"
]
]
},
{
"name": "jupyter-client",
"specs": [
[
">=",
"8.6"
]
]
},
{
"name": "kubernetes",
"specs": [
[
"~=",
"10.0.0"
]
]
},
{
"name": "kubernetes-asyncio",
"specs": [
[
"~=",
"9.1.0"
]
]
},
{
"name": "lark",
"specs": [
[
"~=",
"1.1.5"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"~=",
"10.5.0"
]
]
},
{
"name": "msgpack",
"specs": [
[
"~=",
"1.1.0"
]
]
},
{
"name": "multidict",
"specs": [
[
"~=",
"6.2.0"
]
]
},
{
"name": "namedlist",
"specs": [
[
"~=",
"1.8"
]
]
},
{
"name": "networkx",
"specs": [
[
"~=",
"3.3.0"
]
]
},
{
"name": "orjson",
"specs": [
[
"~=",
"3.10.16"
]
]
},
{
"name": "opentelemetry-api",
"specs": [
[
"~=",
"1.33.1"
]
]
},
{
"name": "opentelemetry-sdk",
"specs": [
[
"~=",
"1.33.1"
]
]
},
{
"name": "opentelemetry-exporter-otlp-proto-grpc",
"specs": [
[
"~=",
"1.33.1"
]
]
},
{
"name": "opentelemetry-instrumentation-aiohttp-client",
"specs": [
[
"~=",
"0.54b1"
]
]
},
{
"name": "opentelemetry-instrumentation-aiohttp-server",
"specs": [
[
"~=",
"0.54b1"
]
]
},
{
"name": "opentelemetry-instrumentation-logging",
"specs": [
[
"~=",
"0.54b1"
]
]
},
{
"name": "pexpect",
"specs": [
[
"~=",
"4.8"
]
]
},
{
"name": "prometheus-client",
"specs": [
[
"~=",
"0.21.1"
]
]
},
{
"name": "psutil",
"specs": [
[
"~=",
"7.0"
]
]
},
{
"name": "pycryptodome",
"specs": [
[
">=",
"3.20.0"
]
]
},
{
"name": "pyhumps",
"specs": [
[
"~=",
"3.8.0"
]
]
},
{
"name": "pyroscope-io",
"specs": [
[
"~=",
"0.8.8"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
">=",
"2.9"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"~=",
"0.20.0"
]
]
},
{
"name": "python-json-logger",
"specs": [
[
"~=",
"3.2.0"
]
]
},
{
"name": "pyzmq",
"specs": [
[
"~=",
"26.4"
]
]
},
{
"name": "PyJWT",
"specs": [
[
"~=",
"2.10.1"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"~=",
"6.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
"~=",
"2.11.3"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"24.1"
]
]
},
{
"name": "hiredis",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "redis",
"specs": [
[
"==",
"4.5.5"
]
]
},
{
"name": "rich",
"specs": [
[
"~=",
"13.6"
]
]
},
{
"name": "ruamel.yaml",
"specs": [
[
"~=",
"0.18.10"
]
]
},
{
"name": "SQLAlchemy",
"specs": [
[
"~=",
"1.4.54"
]
]
},
{
"name": "setproctitle",
"specs": [
[
"~=",
"1.3.5"
]
]
},
{
"name": "setuptools",
"specs": [
[
"~=",
"80.0.0"
]
]
},
{
"name": "tabulate",
"specs": [
[
"~=",
"0.8.9"
]
]
},
{
"name": "temporenc",
"specs": [
[
"~=",
"0.1.0"
]
]
},
{
"name": "tenacity",
"specs": [
[
">=",
"9.0"
]
]
},
{
"name": "toml",
"specs": [
[
"~=",
"0.10.2"
]
]
},
{
"name": "tomli",
"specs": [
[
"~=",
"2.0.1"
]
]
},
{
"name": "tomlkit",
"specs": [
[
"~=",
"0.13.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"~=",
"4.67.1"
]
]
},
{
"name": "trafaret",
"specs": [
[
"~=",
"2.1"
]
]
},
{
"name": "treelib",
"specs": [
[
"~=",
"1.7.0"
]
]
},
{
"name": "typeguard",
"specs": [
[
"~=",
"4.3"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"~=",
"4.11"
]
]
},
{
"name": "textual",
"specs": [
[
"~=",
"0.79.1"
]
]
},
{
"name": "uvloop",
"specs": [
[
"~=",
"0.21"
]
]
},
{
"name": "valkey-glide",
"specs": [
[
"~=",
"2.0.1"
]
]
},
{
"name": "yarl",
"specs": [
[
"~=",
"1.19.0"
]
]
},
{
"name": "zipstream-new",
"specs": [
[
"~=",
"1.1.8"
]
]
},
{
"name": "pytest",
"specs": [
[
">=",
"8.3.3"
]
]
},
{
"name": "pytest-aiohttp",
"specs": [
[
"~=",
"1.0.5"
]
]
},
{
"name": "pytest-dependency",
"specs": [
[
">=",
"0.6.0"
]
]
},
{
"name": "types-six",
"specs": []
},
{
"name": "types-setuptools",
"specs": []
},
{
"name": "types-python-dateutil",
"specs": []
},
{
"name": "types-aiofiles",
"specs": []
},
{
"name": "types-cachetools",
"specs": []
},
{
"name": "types-Jinja2",
"specs": []
},
{
"name": "types-PyYAML",
"specs": []
},
{
"name": "types-redis",
"specs": []
},
{
"name": "types-tabulate",
"specs": []
},
{
"name": "types-toml",
"specs": []
},
{
"name": "backend.ai-krunner-alpine",
"specs": [
[
"==",
"5.4.0"
]
]
},
{
"name": "backend.ai-krunner-static-gnu",
"specs": [
[
"==",
"4.4.0"
]
]
},
{
"name": "etcd-client-py",
"specs": [
[
"~=",
"0.4.0"
]
]
}
],
"lcname": "backend.ai-accelerator-mock"
}