{"id":37069886,"url":"https://github.com/samermakni/cuda-selector","last_synced_at":"2026-01-14T08:02:59.403Z","repository":{"id":258079947,"uuid":"874181352","full_name":"SamerMakni/cuda-selector","owner":"SamerMakni","description":"A simple tool to select the optimal CUDA device based custom criteria.","archived":false,"fork":false,"pushed_at":"2025-03-10T10:22:01.000Z","size":71,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-07T14:36:43.919Z","etag":null,"topics":["automation","gpu-monitoring","machine-learning"],"latest_commit_sha":null,"homepage":"https://samermakni.github.io/cuda-selector/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamerMakni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-17T11:45:53.000Z","updated_at":"2025-10-16T12:50:26.000Z","dependencies_parsed_at":"2025-03-03T15:26:47.873Z","dependency_job_id":"3c91b131-40e0-48e8-a0c2-d335cae16abc","html_url":"https://github.com/SamerMakni/cuda-selector","commit_stats":null,"previous_names":["samermakni/cuda-selector"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SamerMakni/cuda-selector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamerMakni%2Fcuda-selector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamerMakni%2Fcuda-selector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamerMakni%2Fcuda-selector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamerMakni%2Fcuda-selector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamerMakni","download_url":"https://codeload.github.com/SamerMakni/cuda-selector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamerMakni%2Fcuda-selector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","gpu-monitoring","machine-learning"],"created_at":"2026-01-14T08:02:58.842Z","updated_at":"2026-01-14T08:02:59.380Z","avatar_url":"https://github.com/SamerMakni.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![PyPI - Version](https://img.shields.io/pypi/v/cuda_selector)\n![PyPI - License](https://img.shields.io/pypi/l/cuda_selector)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cuda_selector)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/cuda_selector)\n\n# Auto Cuda Selector\n\nA simple tool to select the optimal CUDA device based on memory, power, temperature, or utilization. It supports fallback to CPU and custom sorting functions. Supports CUDA devices on Linux and MPS devices on macOS. Full documentation be found [here](https://samermakni.github.io/cuda-selector/)\n\n### Install\n```bash\npip install cuda-selector\n```\n### Usage\n```python\nfrom cuda_selector import auto_cuda\n\n# Select the CUDA device with the most memory available\ndevice = auto_cuda()\n\n# Select the CUDA device with the lowest power usage\ndevice = auto_cuda('power')\n\n# Select the CUDA device with the lowest GPU utilization\ndevice = auto_cuda('utilization')\n\n# Select the CUDA device with the lowest temperature\ndevice = auto_cuda('temperature')\n\n# Select multiple devices with the most free memory\ndevices = auto_cuda(n=3)\n\n# Exclude specific devices by their index\ndevices = auto_cuda(exclude=[0, 1])\n\n# Apply thresholds for power usage and utilization\ndevices = auto_cuda(thresholds={'power': 150, 'utilization': 70})\n\n# Use a custom ranking function for selecting devices\ndevices = auto_cuda(sort_fn=lambda d: d['memory_free'] * 0.7 + d['utilization'] * 0.3)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamermakni%2Fcuda-selector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamermakni%2Fcuda-selector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamermakni%2Fcuda-selector/lists"}