diff --git a/README.md b/README.md index c96d7f663..e8f6e83d1 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,12 @@ In your command prompt use: ```codecarbon monitor``` The package will track your emissions independently from your code. +### Detecting your hardware 🔍 + +In your command prompt use: +```codecarbon detect``` +The package will detect and print your hardware information (RAM, CPU, GPU). + ### In your Python code 🐍 ```python from codecarbon import track_emissions diff --git a/codecarbon/cli/main.py b/codecarbon/cli/main.py index 9b3daf699..c0f1c0fec 100644 --- a/codecarbon/cli/main.py +++ b/codecarbon/cli/main.py @@ -413,6 +413,31 @@ def signal_handler(signum, frame): raise e +@codecarbon.command("detect", short_help="Detect hardware and print information.") +def detect(): + """ + Detects hardware and prints information without running any measurements. + """ + print("Detecting hardware...") + tracker = EmissionsTracker(save_to_file=False) + hardware_info = tracker.get_detected_hardware() + + print("\nDetected Hardware and System Information:") + print(f"- Available RAM: {hardware_info['ram_total_size']:.3f} GB") + print( + f"- CPU count: {hardware_info['cpu_count']} thread(s) in {hardware_info['cpu_physical_count']} physical CPU(s)" + ) + print(f"- CPU model: {hardware_info['cpu_model']}") + print(f"- GPU count: {hardware_info['gpu_count']}") + + gpu_model_str = hardware_info["gpu_model"] + if hardware_info.get("gpu_ids"): + gpu_model_str += ( + f" BUT only tracking these GPU ids : {hardware_info['gpu_ids']}" + ) + print(f"- GPU model: {gpu_model_str}") + + def questionary_prompt(prompt, list_options, default): value = questionary.select( prompt, diff --git a/codecarbon/emissions_tracker.py b/codecarbon/emissions_tracker.py index 0913c215b..b567952c3 100644 --- a/codecarbon/emissions_tracker.py +++ b/codecarbon/emissions_tracker.py @@ -369,8 +369,9 @@ def __init__( self._active_task_emissions_at_start: Optional[EmissionsData] = None # Tracking mode detection - ressource_tracker = ResourceTracker(self) - ressource_tracker.set_CPU_GPU_ram_tracking() + self._hardware = [] + resource_tracker = ResourceTracker(self) + resource_tracker.set_CPU_GPU_ram_tracking() self._conf["hardware"] = list(map(lambda x: x.description(), self._hardware)) @@ -378,18 +379,20 @@ def __init__( logger.info(f" Platform system: {self._conf.get('os')}") logger.info(f" Python version: {self._conf.get('python_version')}") logger.info(f" CodeCarbon version: {self._conf.get('codecarbon_version')}") - logger.info(f" Available RAM : {self._conf.get('ram_total_size'):.3f} GB") + + hardware_info = self.get_detected_hardware() + logger.info(f" Available RAM : {hardware_info['ram_total_size']:.3f} GB") logger.info( - f" CPU count: {self._conf.get('cpu_count')} thread(s) in {self._conf.get('cpu_physical_count')} physical CPU(s)" + f" CPU count: {hardware_info['cpu_count']} thread(s) in {hardware_info['cpu_physical_count']} physical CPU(s)" ) - logger.info(f" CPU model: {self._conf.get('cpu_model')}") - logger.info(f" GPU count: {self._conf.get('gpu_count')}") + logger.info(f" CPU model: {hardware_info['cpu_model']}") + logger.info(f" GPU count: {hardware_info['gpu_count']}") if self._gpu_ids: logger.info( - f" GPU model: {self._conf.get('gpu_model')} BUT only tracking these GPU ids : {self._conf.get('gpu_ids')}" + f" GPU model: {hardware_info['gpu_model']} BUT only tracking these GPU ids : {hardware_info['gpu_ids']}" ) else: - logger.info(f" GPU model: {self._conf.get('gpu_model')}") + logger.info(f" GPU model: {hardware_info['gpu_model']}") # Run `self._measure_power_and_energy` every `measure_power_secs` seconds in a # background thread @@ -469,6 +472,22 @@ def _init_output_methods(self, *, api_key: str = None): if self._save_to_logfire: self._output_handlers.append(LogfireOutput()) + def get_detected_hardware(self) -> Dict[str, Any]: + """ + Get the detected hardware. + :return: A dictionary containing hardware data. + """ + hardware_info = { + "ram_total_size": self._conf.get("ram_total_size"), + "cpu_count": self._conf.get("cpu_count"), + "cpu_physical_count": self._conf.get("cpu_physical_count"), + "cpu_model": self._conf.get("cpu_model"), + "gpu_count": self._conf.get("gpu_count"), + "gpu_model": self._conf.get("gpu_model"), + "gpu_ids": self._conf.get("gpu_ids"), + } + return hardware_info + def service_shutdown(self, signum, frame): logger.warning("service_shutdown - Caught signal %d" % signum) self.stop() diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt index 73eb4acb6..4539c5ffc 100644 --- a/docs/_sources/installation.rst.txt +++ b/docs/_sources/installation.rst.txt @@ -3,15 +3,6 @@ Installing CodeCarbon ===================== -Create a virtual environment using `conda` for easier management of dependencies and packages. -For installing conda, follow the instructions on the -`official conda website `__ - -.. code-block:: bash - - conda create --name codecarbon - conda activate codecarbon - From PyPi repository -------------------- @@ -23,16 +14,20 @@ To install the package, run the following command in your terminal. pip install codecarbon -From conda repository ---------------------- - -The package is hosted on the conda repository `here `__. +Using Conda environments +------------------------ -To install the package, run the following command in your terminal. +If you're using Conda for environment management, you can install CodeCarbon with pip in your Conda environment: .. code-block:: bash - conda install -c codecarbon -c conda-forge codecarbon + conda create --name codecarbon + conda activate codecarbon + pip install codecarbon + +.. note:: + + While CodeCarbon can be used in Conda environments, we no longer maintain Conda packages. We recommend using ``pip install codecarbon`` within your Conda environment, which works seamlessly with Conda. .. note:: diff --git a/docs/_sources/usage.rst.txt b/docs/_sources/usage.rst.txt index 169fa3d7d..f4b77a777 100644 --- a/docs/_sources/usage.rst.txt +++ b/docs/_sources/usage.rst.txt @@ -42,6 +42,14 @@ If you want to track the emissions of a computer without having to modify your c You have to stop the monitoring manually with ``Ctrl+C``. +If you want to detect the hardware of your computer without starting any measurement, you can use: + +.. code-block:: console + + codecarbon detect + +It will print the detected RAM, CPU and GPU information. + In the following example you will see how to use the CLI to monitor all the emissions of you computer and sending everything to an API running on "localhost:8008" (Or you can start a private local API with "docker-compose up"). Using the public API with this is not supported yet (coming soon!) diff --git a/docs/_static/basic.css b/docs/_static/basic.css index 7ebbd6d07..4738b2edc 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -741,14 +741,6 @@ abbr, acronym { cursor: help; } -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - /* -- code displays --------------------------------------------------------- */ pre { diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js index 2c774d17a..91f4be57f 100644 --- a/docs/_static/searchtools.js +++ b/docs/_static/searchtools.js @@ -513,9 +513,11 @@ const Search = { // perform the search on the required terms searchTerms.forEach((word) => { const files = []; + // find documents, if any, containing the query word in their text/title term indices + // use Object.hasOwnProperty to avoid mismatching against prototype properties const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, + { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, + { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, ]; // add support for partial matches if (word.length > 2) { @@ -547,8 +549,9 @@ const Search = { // set score for the word in each file recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; + if (!scoreMap.has(file)) scoreMap.set(file, new Map()); + const fileScores = scoreMap.get(file); + fileScores.set(word, record.score); }); }); @@ -587,7 +590,7 @@ const Search = { break; // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); // add result to the result list results.push([ docNames[file], diff --git a/docs/edit/usage.rst b/docs/edit/usage.rst index 169fa3d7d..f4b77a777 100644 --- a/docs/edit/usage.rst +++ b/docs/edit/usage.rst @@ -42,6 +42,14 @@ If you want to track the emissions of a computer without having to modify your c You have to stop the monitoring manually with ``Ctrl+C``. +If you want to detect the hardware of your computer without starting any measurement, you can use: + +.. code-block:: console + + codecarbon detect + +It will print the detected RAM, CPU and GPU information. + In the following example you will see how to use the CLI to monitor all the emissions of you computer and sending everything to an API running on "localhost:8008" (Or you can start a private local API with "docker-compose up"). Using the public API with this is not supported yet (coming soon!) diff --git a/docs/index.html b/docs/index.html index 198f6eec2..fbf597bf0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,6 @@ - @@ -133,7 +132,7 @@

CodeCarbonInstalling CodeCarbon diff --git a/docs/installation.html b/docs/installation.html index ddf422be9..9f5256b91 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -54,7 +54,7 @@
  • Installing CodeCarbon
  • @@ -99,13 +99,6 @@

    Installing CodeCarbon

    -

    Create a virtual environment using conda for easier management of dependencies and packages. -For installing conda, follow the instructions on the -official conda website

    -
    conda create --name codecarbon
    -conda activate codecarbon
    -
    -

    From PyPi repository

    The package is hosted on the pip repository here.

    @@ -114,15 +107,20 @@

    From PyPi repository

    -
    -

    From conda repository

    -

    The package is hosted on the conda repository here.

    -

    To install the package, run the following command in your terminal.

    -
    conda install -c codecarbon -c conda-forge codecarbon
    +
    +

    Using Conda environments

    +

    If you’re using Conda for environment management, you can install CodeCarbon with pip in your Conda environment:

    +
    conda create --name codecarbon
    +conda activate codecarbon
    +pip install codecarbon
     

    Note

    +

    While CodeCarbon can be used in Conda environments, we no longer maintain Conda packages. We recommend using pip install codecarbon within your Conda environment, which works seamlessly with Conda.

    +
    +
    +

    Note

    We recommend using Python 3.8 or above.

    diff --git a/docs/searchindex.js b/docs/searchindex.js index 684170078..1e8bd7f5d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"@track_emissions": [[11, "track-emissions"]], "Access internet through proxy server": [[15, "access-internet-through-proxy-server"]], "Advanced Installation": [[0, null]], "Authentication": [[14, "authentication"]], "Available RAPL Domains": [[12, "available-rapl-domains"]], "CPU": [[7, "cpu"]], "CPU hardware": [[7, "cpu-hardware"]], "CPU metrics priority": [[7, "cpu-metrics-priority"]], "CSV": [[10, "csv"]], "Calculation Formula": [[7, "calculation-formula"]], "Car Usage": [[7, "car-usage"]], "Carbon Intensity": [[7, "carbon-intensity"]], "Carbon Intensity Across Energy Sources": [[7, "id2"]], "Cloud Regions": [[16, "cloud-regions"]], "CodeCarbon": [[5, null]], "CodeCarbon API": [[1, null], [1, "id1"], [10, "codecarbon-api"]], "CodeCarbon\u2019s RAPL Strategy": [[12, "codecarbon-s-rapl-strategy"]], "Collecting emissions to a logger": [[14, null]], "Comet Integration": [[2, null]], "Command line": [[15, "command-line"]], "Comparisons": [[8, "comparisons"]], "Configuration": [[15, "configuration"]], "Configuration priority": [[15, "configuration-priority"]], "Context manager": [[15, "context-manager"], [15, "id2"]], "Create a logger": [[14, "create-a-logger"]], "Create an EmissionTracker": [[14, "create-an-emissiontracker"]], "Data Fields Logged for Each Experiment": [[10, "id4"]], "Decorator": [[15, "decorator"], [15, "id3"]], "Dependencies": [[6, "dependencies"]], "Deploy CodeCarbon CLI as a Service using Ansible": [[0, "deploy-codecarbon-cli-as-a-service-using-ansible"]], "Desktop: AMD Ryzen Threadripper 1950X (16-Core, 32 threads, Multi-die)": [[12, "desktop-amd-ryzen-threadripper-1950x-16-core-32-threads-multi-die"]], "Directory Structure": [[0, "directory-structure"]], "Electricity consumption of AI cloud instance": [[8, "id1"]], "Electricity production carbon intensity per country": [[16, "electricity-production-carbon-intensity-per-country"]], "Estimation of Equivalent Usage Emissions": [[7, "estimation-of-equivalent-usage-emissions"]], "Example": [[14, "example"]], "Examples": [[3, null]], "Explicit Object": [[15, "explicit-object"], [15, "id1"]], "Frequently Asked Questions": [[4, null]], "From PyPi repository": [[6, "from-pypi-repository"]], "From conda repository": [[6, "from-conda-repository"]], "GPU": [[7, "gpu"]], "Getting Started": [[5, null]], "Google Cloud Logging": [[14, "google-cloud-logging"]], "HTTP Output": [[10, "http-output"]], "How CodeCarbon Works": [[7, "how-codecarbon-works"]], "How to test in local": [[10, "how-to-test-in-local"]], "How to use it": [[10, "how-to-use-it"]], "Impact of time of year and region": [[8, "impact-of-time-of-year-and-region"]], "Indices and tables": [[5, "indices-and-tables"]], "Input Parameters": [[11, "input-parameters"], [11, "id6"]], "Input Parameters to @track_emissions": [[11, "id9"]], "Input Parameters to OfflineEmissionsTracker": [[11, "id8"]], "Install CodeCarbon as a Linux service": [[0, "install-codecarbon-as-a-linux-service"]], "Installation": [[16, "installation"]], "Installing CodeCarbon": [[6, null]], "Introduction": [[5, null]], "Key Takeaways for RAPL Measurements": [[12, "key-takeaways-for-rapl-measurements"]], "Laptop: Intel(R) Core(TM) Ultra 7 265H (TDP 28W)": [[12, "laptop-intel-r-core-tm-ultra-7-265h-tdp-28w"]], "Laptop: Intel(R) Core(TM) i7-7600U (TDP 15W, 7th Gen Kaby Lake)": [[12, "laptop-intel-r-core-tm-i7-7600u-tdp-15w-7th-gen-kaby-lake"]], "Logfire": [[10, "logfire"]], "Logger Output": [[10, "logger-output"]], "Logging": [[5, null]], "Methodology": [[7, null]], "Model Comparisons": [[8, null]], "Motivation": [[9, null]], "Offline": [[16, "offline"]], "Offline Mode": [[15, "offline-mode"]], "Online": [[16, "online"]], "Online Mode": [[15, "online-mode"]], "Output": [[10, null]], "Output Parameters": [[11, "id7"]], "Output parameters": [[11, "output-parameters"]], "Parameters": [[11, null]], "Platform-Specific Behavior": [[12, "platform-specific-behavior"]], "Power Usage": [[7, "power-usage"]], "Prerequisites": [[0, "prerequisites"]], "Prometheus": [[10, "prometheus"]], "Python logger": [[14, "python-logger"]], "Quick Start": [[0, "quick-start"]], "Quickstart": [[15, null]], "RAM": [[7, "ram"]], "RAPL Domain Architecture": [[12, "rapl-domain-architecture"]], "RAPL Domain Hierarchy and Double-Counting": [[12, "rapl-domain-hierarchy-and-double-counting"]], "RAPL Measurements: Real-World Examples": [[12, "rapl-measurements-real-world-examples"]], "RAPL Metrics": [[7, "rapl-metrics"], [12, null]], "References": [[7, "references"], [8, "references"]], "Regional Comparisons": [[16, "regional-comparisons"]], "Source Code": [[7, "source-code"]], "Specific parameters for offline mode": [[11, "specific-parameters-for-offline-mode"]], "Summary and Equivalents": [[16, "summary-and-equivalents"]], "TV Usage": [[7, "tv-usage"]], "Test of CodeCarbon on Scaleway hardware": [[13, null]], "US Citizen Weekly Emissions": [[7, "us-citizen-weekly-emissions"]], "Usage": [[16, "usage"]], "Using CodeCarbon with logfire": [[10, "using-codecarbon-with-logfire"]], "Using CodeCarbon with prometheus": [[10, "using-codecarbon-with-prometheus"]], "Using the Context Manager": [[3, "using-the-context-manager"]], "Using the Decorator": [[3, "using-the-decorator"]], "Using the Explicit Object": [[3, "using-the-explicit-object"]], "Visualize": [[16, null]], "What the Playbook Does": [[0, "what-the-playbook-does"]], "detailed": [[16, "detailed"]], "from global\u2026": [[16, "from-global"]], "to more and more\u2026": [[16, "to-more-and-more"]]}, "docnames": ["advanced_installation", "api", "comet", "examples", "faq", "index", "installation", "methodology", "model_examples", "motivation", "output", "parameters", "rapl", "test_on_scaleway", "to_logger", "usage", "visualize"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["advanced_installation.rst", "api.rst", "comet.rst", "examples.rst", "faq.rst", "index.rst", "installation.rst", "methodology.rst", "model_examples.rst", "motivation.rst", "output.rst", "parameters.rst", "rapl.rst", "test_on_scaleway.rst", "to_logger.rst", "usage.rst", "visualize.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 2, 5, 7, 9, 10, 11, 15, 16], "0": [0, 3, 7, 8, 10, 12, 13, 15, 16], "0000": 15, "00w": 12, "02": 8, "02w": 12, "03": 8, "04": 8, "0440": 0, "04w": 12, "05": 12, "07w": 12, "084": 7, "1": [7, 8, 10, 11, 12, 15], "10": [0, 3, 7, 10, 12, 15], "100": 12, "1000": 3, "100w": 12, "1065g7": 10, "1080": 10, "10th": 12, "10w": 7, "11": [7, 8, 10], "1145": 12, "116": 12, "12": [7, 12, 13], "121": 8, "123": 10, "1240": 13, "125": 12, "128": [3, 7], "128gb": 7, "13": [7, 8], "131w": 12, "137": 12, "138": 7, "14": [7, 12], "14w": 12, "15": [7, 11, 12], "159": 13, "16": 7, "169": 8, "17": 7, "171": 12, "172": 12, "180": 12, "181": 12, "1892": 12, "19": 8, "19044": 10, "192": 8, "1tb": 7, "2": [2, 3, 7, 8, 10, 11, 12, 13], "20": [7, 12], "2000": 7, "201": 8, "2017": 12, "2018": 12, "2020": 12, "2023": 7, "2025": 12, "207": 13, "20w": 7, "21": [7, 8, 12], "214": 13, "216": 8, "21w": 12, "22": 12, "22w": 12, "234": 12, "235b1da5": 15, "237": 8, "23w": 12, "24": 12, "2400": 7, "25": 7, "255": 3, "256": [7, 8], "26": [7, 12], "2620": 13, "27w": 12, "28": 3, "280": 12, "280w": 12, "29": [7, 12], "2w": 12, "3": [2, 6, 7, 8, 10, 11, 12, 15], "30": [0, 1, 12], "30ghz": 10, "3177754": 12, "31w": 12, "32": [7, 16], "32gb": 7, "33": 7, "3333": 16, "35": 7, "35w": 12, "36": [8, 12], "37": [7, 8, 12], "37w": 12, "38": [7, 12], "3w": 7, "3x": 12, "4": [1, 7, 8, 15], "40": 12, "40ghz": 13, "40w": [7, 12], "44": 12, "44w": 12, "457": 7, "46w": 12, "475": [4, 7], "47w": 12, "48": 7, "4f": 3, "4gib": 7, "4w": 12, "5": [0, 7, 11, 12], "50": [7, 12], "51": 13, "52": 7, "54w": 12, "59": 7, "5w": [7, 12], "6": [7, 8, 12], "60": 13, "61": 12, "62": 12, "64": [7, 13], "64gb": 7, "66w": 12, "68": 12, "69w": 12, "6b": 8, "6w": 12, "7": [7, 8], "70": 7, "731": 7, "73w": 12, "743": 7, "76": 12, "7600u": 7, "7777": 15, "77778e": 7, "8": [6, 7, 8, 10, 11, 12], "80": 7, "8008": 15, "8024p": 13, "8050": 16, "812": 8, "816": 7, "82": 12, "85": 13, "854453231": 12, "85w": 12, "86": 12, "8694": 12, "88": 12, "88w": 12, "893681599d2c": 15, "8gb": 7, "8w": 12, "8x128gb": 7, "9": [7, 12], "90": [7, 8], "9090": 10, "93": 8, "960": 13, "97w": 12, "995": 7, "A": [7, 11, 14, 15, 16], "And": [1, 2], "As": [7, 9, 12], "But": [3, 4, 7], "By": [10, 12], "For": [4, 6, 7, 9, 10, 11, 12, 13, 15], "IT": 4, "If": [3, 4, 7, 10, 11, 12, 15, 16], "In": [1, 2, 7, 8, 9, 11, 14, 15], "It": [0, 1, 4, 7, 10, 14, 15, 16], "NOT": 12, "No": 12, "OR": 12, "On": [7, 8, 12], "One": 10, "Or": [1, 15], "The": [0, 1, 3, 6, 7, 8, 10, 11, 12, 14, 15, 16], "Then": [1, 7], "There": [4, 7, 12], "These": [7, 11], "To": [0, 2, 6, 7, 13], "With": 9, "_": 15, "__main__": [1, 3], "__name__": [1, 3], "_channel": 14, "_logger": 14, "_scheduler_monitor_pow": 7, "a100": 8, "aaaa": 15, "abl": [2, 10], "about": [4, 7, 15], "abov": [0, 6, 7, 12], "absenc": 15, "access": [0, 5, 7, 12], "account": [0, 1, 2, 7], "accur": [4, 7, 12], "accuraci": [3, 7, 12], "achiev": 9, "acm": 12, "across": [8, 9, 10, 12, 16], "action": 12, "activ": [3, 6, 7, 16], "actual": [4, 7, 12], "adam": 3, "add": [2, 3, 4, 7, 11, 12, 13, 14], "addhandl": 14, "addit": [7, 11, 15, 16], "administr": 7, "advanc": [5, 9], "affect": [11, 12], "after": [0, 3, 14], "against": 11, "agenc": [7, 8], "agent": 12, "ai": 9, "alert": 10, "algorithm": 7, "all": [4, 7, 10, 12, 15], "allow": [10, 11, 14, 15], "allow_multiple_run": 11, "alon": 12, "along": [2, 6, 15], "alongsid": 2, "alphabet": [10, 15], "also": [9, 14, 15, 16], "although": 4, "alwai": [0, 3], "amazon": 4, "amd": [7, 13], "american": 16, "amount": [7, 9, 16], "an": [0, 1, 2, 3, 4, 7, 10, 15, 16], "analysi": 12, "analyz": 4, "ani": [4, 7, 15], "annual": 7, "anoth": [7, 8, 16], "ansibl": 5, "ansible_ssh_private_key_fil": 0, "ansible_us": 0, "anymor": 7, "api": [0, 2, 5, 11, 15, 16], "api_call_interv": [0, 1, 11, 15], "api_endpoint": [0, 11], "api_kei": [0, 2, 11], "app": 16, "appear": [10, 12], "append": 11, "appl": 7, "appli": 7, "approach": [7, 9, 12], "approx": 7, "approxim": 7, "apr": 12, "apt": [0, 13], "ar": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14], "architectur": 5, "argument": [11, 16], "arm": 7, "arrow": 6, "art": 9, "artifact": [2, 11], "artifici": 9, "asia": 10, "ask": [5, 10], "associ": 7, "assum": 7, "assumpt": 7, "astral": 13, "attribut": 15, "auth": 10, "autom": 0, "automat": [2, 3, 7, 12], "automaticli": 11, "avail": [3, 4, 5, 7, 10, 11, 13, 14, 15, 16], "averag": [0, 4, 7, 8, 10, 12, 16], "avoid": 12, "aw": 10, "awar": [7, 15], "azur": [8, 10], "b112x": 13, "back": [2, 7, 12, 13], "background": 3, "backward": 16, "bar": 16, "barchart": 16, "base": [0, 7, 8, 10, 12, 14, 15], "baselin": 12, "baseoutput": 10, "batteri": 12, "becaus": [4, 7, 12, 13, 15], "becom": 9, "been": 7, "befor": [1, 12], "begin": [3, 15], "behavior": 5, "being": [11, 16], "below": [0, 3, 8, 12, 16], "benchmark": 16, "bert": 8, "bert_infer": 15, "best": [3, 4, 12], "better": [7, 16], "between": [11, 12], "bin": [0, 7, 13], "biomass": 7, "black": 8, "block": [3, 7, 15], "blog": [7, 12], "blue": 8, "bookworm": 13, "boolean": 11, "boot": 12, "both": [7, 9, 12, 15], "brazilsouth": 10, "brief": 13, "broader": 9, "bubbl": 16, "bui": 7, "build": [14, 15], "build_model": 15, "built": [10, 16], "c": [6, 7, 11, 15], "cach": 12, "calcul": 4, "california": 11, "call": [3, 7, 10, 11, 15], "can": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "canada": 11, "capac": 7, "capita": 7, "car": 9, "carbon": [2, 4, 5, 8, 9, 15], "carbonboard": 16, "case": [4, 8, 10, 15, 16], "caus": 12, "cd": 13, "cell": 15, "center": 11, "central": [1, 14], "ceram": 7, "certain": 1, "chang": [0, 12], "chapter": 0, "characterist": 12, "chart": 16, "check": 0, "checkout": 13, "chess": 9, "chih": [7, 12], "chip": [7, 12], "chipset": [11, 12], "chmod": [0, 12, 13], "choic": 4, "choos": [4, 11, 12, 13], "chose": 16, "chown": 0, "citi": [10, 11], "class": [0, 7, 10, 12, 13, 14], "clevercloud": 1, "cli": [5, 6, 15, 16], "click": [2, 6, 16], "client": [6, 14], "clone": 13, "close": 12, "cloud": [4, 7, 10, 11], "cloud_provid": [10, 11], "cloud_region": [10, 11], "co2": [7, 15], "co2eq": 3, "co2sign": 11, "coal": 7, "code": [1, 2, 3, 4, 10, 11, 13, 15], "codecarbon": [2, 3, 4, 8, 11, 14, 15, 16], "codecarbon_": [10, 15], "codecarbon_cli_as_a_servic": 0, "codecarbon_gpu_id": 15, "codecarbon_log_level": 15, "colin": 13, "collect": [5, 10], "collector": 14, "com": [0, 4, 11, 12, 13], "combust": 9, "come": [15, 16], "comet": 5, "comet_ml": 2, "comma": 11, "command": [6, 7, 13, 16], "common": 12, "commun": 4, "compar": [2, 7, 8, 16], "compare_cpu_load_and_rapl": 13, "comparison": [5, 7], "compat": 16, "compil": 3, "complet": [11, 12, 15], "compon": 12, "compos": [10, 15], "comprehens": 12, "comput": [3, 4, 7, 8, 9, 10, 12, 15], "concern": 16, "conda": 5, "condit": [7, 10], "conf": 0, "config": [0, 1, 15], "configpars": 15, "configur": [0, 5, 7, 10], "connect": [13, 14, 16], "consequ": 9, "consid": 7, "consider": [8, 12], "consist": [11, 12], "consol": 13, "constant": 7, "consum": [7, 9, 11, 12, 16], "consumpt": [7, 11, 12, 16], "consumption_percentag": 11, "contact": 7, "contain": [7, 12, 16], "context": 5, "continu": 3, "contribut": 7, "control": 12, "convert": 7, "copi": [2, 3], "core": [7, 10], "correct": 12, "correctli": 12, "correspond": [7, 15], "could": [1, 7, 8, 11, 12, 15], "count": [4, 5, 7], "counter": [7, 12], "countri": [4, 7, 10, 11, 15], "country_2letter_iso_cod": 11, "country_iso_cod": [10, 11, 15], "country_nam": 10, "cover": 4, "co\u2082": [7, 9, 10], "co\u2082eq": [7, 9, 10], "cpu": [5, 10, 11, 12, 13], "cpu_count": 10, "cpu_energi": 10, "cpu_load_profil": 13, "cpu_model": 10, "cpu_pow": 10, "cpu_utilization_perc": 10, "cpuinfo": 6, "crash": 3, "creat": [0, 1, 2, 5, 6, 12, 15], "credenti": 0, "critic": [11, 12, 14], "csv": [5, 11, 13, 15, 16], "ctrl": 15, "cuda_visible_devic": 11, "curl": 13, "current": [7, 9, 10, 11, 12, 15, 16], "curtail": 9, "custom": 10, "cve": 12, "cycl": 4, "dai": 7, "daili": [7, 16], "dash": 16, "dashboard": [0, 1, 7, 16], "data": [1, 2, 3, 4, 7, 9, 11, 12, 13, 14], "databas": 10, "datacent": 4, "dataset": [2, 3, 15], "ddr": 12, "ddr4": 7, "debian": [0, 13], "debug": [11, 14, 15], "decor": [5, 11], "decreas": 7, "dedic": [0, 11, 14], "dedupl": 12, "deep": [3, 8], "def": [1, 3, 15], "default": [1, 2, 4, 7, 10, 11, 12, 14, 15, 16], "defin": 7, "definit": 2, "delet": 13, "delta_0": 12, "demonstr": 14, "dens": [3, 8], "depend": [5, 9, 12, 15, 16], "deploi": [5, 9, 10], "deposit": 7, "deprec": 16, "deriv": [7, 10], "describ": [0, 8, 11], "descript": [0, 10, 11], "design": 7, "desir": 12, "desktop": 7, "despit": [7, 12], "detail": [2, 11, 12, 15], "detect": [7, 12], "develop": [8, 9, 10, 15], "devic": [10, 12], "di": [7, 12], "did": 4, "die": 7, "differ": [4, 7, 8, 9, 12, 16], "digit": 3, "dimm": [7, 11], "dioxid": [7, 9], "direct": [4, 7], "directori": [7, 10, 11, 12, 15], "disabl": 12, "discharg": 12, "discontinu": 7, "discret": 12, "discuss": [7, 12], "disk": 15, "displai": [3, 8, 10, 12, 16], "distinct": 14, "distribut": 12, "dive": 16, "divid": [7, 10, 16], "do": [1, 4, 7, 11, 12, 13, 15], "docker": [10, 15], "document": [12, 14, 15], "doe": [4, 12], "doesn": 7, "doi": 12, "domain": [5, 11], "don": [3, 7, 12], "done": [0, 4, 10], "doubl": 5, "dram": [11, 12], "draw": 7, "drive": [7, 9, 12], "driven": [7, 16], "dropout": 3, "dt": 10, "due": 12, "duplic": 12, "durat": 10, "dure": [3, 7, 9, 10, 12], "e": [3, 7, 10, 12], "e3": 13, "e5": 13, "each": [7, 12, 15, 16], "easier": 6, "easili": 2, "east": 10, "east1": 10, "echo": 0, "eco": 16, "ecolog": 7, "effect": 11, "effici": [7, 9], "either": 11, "electr": [4, 7, 9, 11, 15], "electricitymap": 11, "electricitymaps_api_token": [11, 15], "els": 2, "em": 13, "emiss": [1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 16], "emissions_endpoint": 15, "emissions_r": 10, "emissionstrack": [2, 3, 14, 15], "emissiontrack": 10, "emit": [7, 8, 9], "enabl": [0, 9, 12, 15], "encapsul": 11, "end": [3, 7, 11], "endpoint": [11, 15], "energi": [4, 8, 9, 10, 12, 16], "energy_consum": 10, "energy_uj": [0, 7, 12], "enhanc": 10, "enorm": 9, "ensur": [3, 7], "ensurepath": 13, "entail": 9, "enter": 7, "enterpris": 4, "entir": [11, 12], "entireti": 4, "entri": 15, "environ": [0, 2, 6, 7, 10, 15], "environment": [7, 8, 9], "eof": 0, "epoch": 3, "epyc": 13, "eq": [4, 7], "equival": [5, 8, 9, 10], "eras": 11, "error": [3, 11], "estim": [4, 5, 8, 9, 11], "etc": [0, 12, 14], "etch": 7, "european": 7, "eval": 12, "evalu": 10, "even": [3, 4], "ever": [7, 16], "everi": [0, 2, 7, 11], "everyth": [2, 12, 15], "exact": 7, "exampl": [2, 5, 7, 9, 10, 11, 13, 15, 16], "excel": 12, "except": [3, 7, 12], "exclud": 12, "exclus": 12, "execstart": 0, "execut": 16, "exemplari": 16, "exist": [4, 7, 11, 15, 16], "expect": 12, "experi": [1, 2, 9, 11, 12, 15, 16], "experiment_id": [0, 1, 11, 15], "explain": 2, "explan": 12, "explicit": 5, "export": [13, 15], "expos": [10, 11, 12], "express": [7, 9, 10], "extra": 16, "f": 3, "face": 9, "fact": 9, "factor": [4, 7, 11], "fall": [7, 12], "fallback": 7, "fals": [0, 11, 12, 15], "fan": 12, "fast": 7, "featur": [7, 9, 12], "fetch": 15, "fief": 6, "figur": 12, "file": [0, 1, 2, 7, 10, 11, 12, 14, 15, 16], "filehandl": 14, "filepath": 16, "filter": [12, 14], "final": [3, 15], "final_emiss": 3, "final_emissions_data": 3, "find": 4, "finish": 3, "fintetun": 8, "first": [0, 7, 8, 10, 14, 15], "fit": 3, "flatten": 3, "float": [3, 14], "flush": [11, 15], "fn": 11, "focu": 4, "folder": 15, "follow": [0, 3, 4, 6, 7, 8, 10, 11, 13, 15, 16], "footprint": [2, 4, 7, 9], "forbid": 14, "forc": 11, "force_cpu_pow": 11, "force_ram_pow": [7, 11], "forg": 6, "format": 10, "former": 11, "formerli": 11, "fossil": [7, 9], "found": [2, 7, 15], "fourth": 8, "fra": 15, "frac": 7, "fraction": 7, "framework": 15, "free": [1, 2], "french": 7, "frequent": [5, 7], "friendli": 16, "from": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15], "from_logit": 3, "fuel": [7, 9], "full": [7, 12, 13], "function": [3, 4, 11, 15], "further": 7, "futur": [11, 12], "g": [0, 3, 7, 10, 12], "ga": 7, "gadget": 7, "galleri": 2, "game": [9, 12], "gase": 9, "gb": [7, 10, 13], "gco2": [4, 7], "gcp": 10, "geforc": 10, "gener": [7, 9, 12, 15, 16], "geograph": 10, "geotherm": 7, "get": [0, 1, 2, 3, 7, 11, 13, 15, 16], "getlogg": 14, "git": 13, "github": [3, 7, 12, 13], "give": [0, 7], "given": 10, "global": [4, 7, 9, 11, 15], "global_energy_mix": 11, "globalpetrolpric": 4, "go": [0, 2, 9, 10], "goe": [1, 15], "gold": [4, 7], "good": [4, 7, 10], "googl": [4, 11], "google_project_nam": 14, "googlecloudloggeroutput": 14, "got": 16, "gpu": [1, 8, 10, 11, 12, 15], "gpu_count": 10, "gpu_energi": 10, "gpu_id": [11, 15], "gpu_model": 10, "gpu_pow": 10, "gpu_utilization_perc": 10, "graph": [2, 8], "great": 8, "greater": 4, "greener": 11, "greenhous": 9, "grep": [7, 11], "grid": [7, 9, 16], "group": [0, 12], "grow": 9, "gtx": 10, "h": [8, 10], "ha": [3, 4, 7, 8, 9, 10, 15, 16], "habit": 4, "hand": 16, "handler": [11, 14], "happen": [7, 16], "hard": 4, "hardwar": [5, 11, 12], "have": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15], "header": 15, "help": [4, 7, 11], "here": [1, 4, 6, 7, 8, 11, 14, 15], "hesit": 7, "heurist": 7, "hierarch": [12, 15], "hierarchi": 5, "high": [7, 12], "higher": [11, 12], "highest": 7, "hirki": 12, "histor": 10, "home": [13, 15], "hood": 15, "host": [0, 6, 10, 11, 15, 16], "hostnam": 0, "hour": [7, 8, 9, 11], "hous": 7, "household": 16, "how": [0, 4, 11, 15], "howev": [7, 15], "html": [7, 12], "htop": 13, "http": [0, 5, 7, 11, 12, 13, 15], "http_proxi": 15, "https_proxi": 15, "hubblo": 12, "huge": 8, "human": 9, "hydroelectr": 7, "hyperparamet": 2, "i": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16], "i120": 13, "i7": [7, 10], "id": [1, 10, 11], "id_ed25519": 0, "identifi": [11, 12], "idl": 12, "iea": [4, 7], "illustr": 16, "imag": [3, 9], "imdb": 15, "imdb_emiss": 15, "impact": [5, 7, 9, 11], "implement": [10, 12, 15], "import": [1, 3, 9, 12, 14, 15], "improv": [4, 7], "inch": 16, "includ": [7, 11, 12], "include_dram": 12, "incred": 9, "independ": 12, "index": [5, 11], "indic": 11, "individu": 12, "industri": 9, "ineffici": 12, "infer": 15, "info": [11, 12, 14], "inform": [0, 4, 7, 12, 15, 16], "infra": 4, "infrastructur": [4, 7, 10, 11, 15, 16], "ini": 15, "init": 7, "initi": [4, 15], "input": [5, 10], "input_shap": 3, "instal": [2, 5, 7, 13], "install_codecarbon": 0, "instanc": [11, 15], "instant": 7, "instanti": [3, 7, 15], "instead": [12, 16], "instruct": [0, 6, 12], "integ": 11, "integr": [5, 12], "intel": [0, 7, 10, 13], "intellig": [9, 12], "intens": [1, 4, 5, 8, 11, 15], "interact": 3, "interconnect": 12, "interfac": [1, 7, 10, 12], "interfer": 15, "intern": 15, "internet": 5, "interv": [7, 10, 11], "introduc": 12, "investig": 12, "io": [0, 11, 12], "iso": [10, 11, 15], "isol": 11, "issu": [4, 7, 12], "issuecom": 12, "its": [4, 7, 8, 10, 14, 16], "itself": [6, 7], "j": 12, "j2": 0, "job": 2, "joul": 7, "journalctl": 0, "json": 11, "jupyt": 15, "just": [3, 7, 15], "k": 12, "keep": [4, 7, 15], "kei": [0, 2, 5, 11], "kera": 3, "kernel": [7, 12], "kg": [7, 10], "kgco\u2082": 7, "khan": 12, "kilogram": [7, 9], "kilomet": 7, "kilowatt": [7, 9, 11], "king": 13, "km": 10, "km\u00b2": 10, "know": [7, 11], "knowledg": 7, "known": 7, "kwh": [4, 7, 8, 10, 11, 12], "l": 11, "lack": 14, "languag": 8, "laptop": 7, "larg": [7, 8, 9], "last": [7, 12, 15], "latest": 6, "latitud": 10, "launchpadlib": 13, "layer": 3, "lcd": 16, "learn": [3, 8, 9], "least": 7, "left": [2, 16], "legaci": [12, 16], "let": 4, "letter": [10, 11, 15], "level": [7, 9, 11, 12, 14, 16], "leverag": [9, 14], "librari": [7, 15], "life": [4, 16], "light": [7, 8], "like": [7, 9, 12, 15], "limit": [0, 1, 7, 12], "line": [3, 7, 8, 12], "linear": 7, "linearli": 7, "link": 2, "linux": [5, 7, 11, 12], "list": [6, 7, 11, 15], "litr": 11, "ll": 2, "llc": 12, "load": [7, 12, 13, 15], "load_data": 3, "load_dataset": 15, "local": [4, 7, 13, 14, 15], "localhost": [10, 15], "localis": 8, "locat": [8, 11], "log": [0, 8, 11, 16], "log_level": [0, 11, 15], "log_nam": 14, "logfir": [5, 11], "logger": [5, 11, 16], "logger_preambl": 11, "loggeroutput": [11, 14], "logging_demo": 14, "logging_logg": [11, 14], "logic": 7, "login": [0, 1], "longitud": 10, "loss": [3, 12], "loss_fn": 3, "lost": 12, "low": [7, 11, 12], "lower": 12, "lshw": [7, 11], "lssf": 13, "m": [0, 10, 12], "m1": 7, "m2": 7, "mac": 7, "machin": [0, 1, 7, 9, 10, 11], "made": 4, "mai": [11, 12, 14], "main": [0, 7], "major": 10, "make": [2, 4, 7], "manag": [5, 6], "mandatori": 11, "mani": [4, 11], "manner": 15, "manual": [0, 11, 15], "manufactur": 7, "map": [7, 11, 12], "massiv": 12, "match": [7, 11, 12], "matrixprod": 13, "matter": 9, "max": [7, 11], "max_energy_range_uj": 12, "maximum": 12, "mb": 7, "me": [7, 12], "mean": 10, "measur": [0, 5, 7, 8, 9, 11, 15], "measure_power_sec": [0, 1, 7, 11, 15], "medium": 7, "memori": [7, 11, 12], "mention": 7, "messag": [11, 14], "metadata": 16, "meter": 12, "method": [3, 7, 13], "methodologi": 5, "metric": [2, 3, 5, 10, 13], "mhz": 7, "micro": 7, "microjoul": 12, "microsoft": [4, 8], "might": 8, "mile": 16, "mind": 4, "minim": 15, "minimum": 7, "minut": 0, "miss": [4, 7, 12], "mix": [4, 7, 16], "mixtur": 7, "mkdir": [0, 13], "ml": [2, 6, 7], "mlco2": 13, "mmio": 12, "mnist": [2, 3], "mode": [0, 1, 5, 7, 10, 12], "model": [3, 5, 7, 9, 12, 15], "model_emiss": 15, "modern": [7, 12], "modifi": [7, 15], "modul": [5, 7], "monitor": [0, 1, 7, 10, 12, 15], "month": 9, "monthli": 4, "more": [1, 2, 7, 9, 11, 12, 15], "most": [8, 12, 16], "motherboard": [7, 12], "motiv": 5, "msr": 12, "much": 4, "multi": 0, "multipl": [11, 12], "multipli": 4, "must": 15, "mwh": 7, "my": 4, "my_logg": 14, "n": [7, 10, 12], "name": [6, 7, 10, 11, 12, 14, 15], "nativ": 7, "natur": 7, "nb": 8, "ncarbon": 3, "ndetail": 3, "nearbi": 7, "necessari": 7, "need": [1, 2, 3, 7, 10, 14, 15, 16], "neither": [4, 7], "net": [7, 16], "network": [0, 14], "never": [3, 12], "new": [11, 13], "newer": 12, "next": 12, "ng": [12, 13], "nice": 1, "niemi": 12, "nlp": 8, "node_export": 12, "non": 12, "none": [7, 11], "nopasswd": 7, "nor": 7, "normal": [7, 15], "notabl": 4, "note": [7, 11, 12, 15], "notebook": [3, 13, 15], "noth": 10, "now": [0, 2, 7, 13], "npu": 12, "nuclear": 7, "number": [7, 10, 11, 16], "nurminen": 12, "nvidia": [6, 7, 10, 12], "nvme": [12, 13], "o": [10, 12, 13, 15], "object": [2, 5, 9, 11], "observ": 10, "occur": 3, "offici": 6, "offlin": 5, "offlineemissionstrack": [10, 15], "offlineemissiontrack": 14, "offset": 4, "often": 4, "old": [7, 11], "older": [11, 12], "on_cloud": 10, "on_csv_writ": 11, "onc": [2, 10], "one": [4, 7, 10, 14, 16], "ones": 11, "onli": [3, 4, 7, 11, 12], "onlin": 5, "open": [4, 7], "openapi": 1, "opt": 0, "optim": 3, "option": [1, 4, 7, 11, 12, 14, 15, 16], "order": [9, 11, 14], "org": 12, "organ": 1, "organis": 16, "organization_id": 0, "other": [0, 3, 4, 7, 9, 12, 14], "otherwis": 14, "ou": 12, "our": [4, 7], "ourworld": 4, "out": [4, 12], "output": [5, 14], "output_dir": [10, 11, 15], "output_fil": 11, "output_handl": 11, "over": [11, 12], "overhead": [7, 15], "overlap": 12, "overrid": [7, 11, 15], "overwrit": 15, "own": [1, 8], "owner": 0, "ownership": 0, "p": 13, "p40": 8, "packag": [0, 2, 4, 6, 7, 9, 10, 11, 12, 14, 16], "page": [2, 5], "panda": 6, "panel": 2, "parallel": 14, "param": 15, "paramet": [5, 7, 10, 15], "part": [7, 9], "particular": 16, "pass": [7, 15], "passeng": 7, "password": 7, "past": 3, "path": [7, 11, 13, 16], "pattern": 9, "pcie": [11, 12], "per": [7, 9, 10, 11], "perf": 13, "perform": [9, 12], "period": 10, "peripher": 12, "permiss": [0, 7, 12], "person": 2, "petroleum": 7, "physic": 7, "pi": 7, "piec": [7, 15], "pip": [0, 2, 6, 16], "pipx": 13, "place": 10, "placehold": 2, "plai": [4, 9], "plastic": 7, "plate": 7, "platform": [4, 5, 10, 11], "pleas": [4, 6, 14, 15, 16], "plug": 12, "point": [8, 12, 15, 16], "polici": 8, "popul": 11, "popular": 8, "port": 16, "possibl": 7, "potenti": [9, 12], "power": [0, 2, 5, 9, 10, 11, 12, 14, 16], "power_const": 11, "powercap": [0, 7, 12, 13], "powermetr": 7, "powertop": 12, "pp": 12, "ppa": 13, "precis": 10, "prefer": [11, 12], "prefer_psi": 12, "prefix": 11, "present": [8, 12], "pretrain": 8, "prevent": 15, "previou": [0, 7], "price": 4, "print": 3, "priorit": 12, "prioriti": [4, 5], "privaci": 10, "privat": [4, 10, 14, 15], "probabl": 11, "process": [7, 9, 10, 11, 14, 15, 16], "processor": [7, 9, 12], "produc": [4, 9, 16], "product": 7, "program": [3, 9], "project": [1, 3, 4, 10, 11, 14, 16], "project_id": 0, "project_nam": [3, 10, 11, 15], "prometheu": [5, 11, 12], "prometheus_cli": 6, "prometheus_password": 10, "prometheus_url": 11, "prometheus_usernam": 10, "prompt": 15, "proport": 7, "propos": 7, "protect": [8, 10], "provid": [2, 7, 10, 11, 12, 14, 15, 16], "provinc": [10, 11], "proxi": 5, "psu": 12, "psutil": [6, 7], "psy": [11, 12], "public": [2, 4, 15, 16], "publicli": 7, "publish": 4, "pue": 11, "purpos": 9, "push": 10, "pushgatewai": 10, "py": [2, 6, 7, 10, 13, 14], "pypi": 5, "pyproject": 6, "python": [0, 6, 13, 15], "python3": [0, 13], "python_vers": 10, "quantifi": [4, 7], "quartil": 8, "question": 5, "questionari": 6, "quickstart": 5, "r": [0, 7, 10, 13], "ram": [10, 11, 12], "ram_energi": 10, "ram_pow": 10, "ram_total_s": 10, "ram_used_gb": 10, "ram_utilization_perc": 10, "rang": [10, 12], "rapidfuzz": 6, "rapl": [0, 5, 11, 13], "rapl_include_dram": 11, "rapl_prefer_psi": 11, "rapsberri": 7, "rare": 12, "raspberri": 7, "rate": 12, "rather": 7, "ratio": 7, "re": 15, "read": [0, 7, 12, 15], "real": [5, 13], "realli": 7, "reason": [7, 9], "reboot": 12, "recent": 9, "recogn": [3, 4, 7, 9], "recommend": [3, 4, 6, 12, 15, 16], "record": 15, "recur": 4, "reduc": [4, 7, 10], "refer": [5, 6, 12, 14, 15], "region": [4, 5, 7, 10, 11, 15], "regist": 12, "releas": 4, "relev": 8, "reli": 15, "reliabl": [11, 12], "relu": 3, "remain": [1, 15], "remark": 9, "remov": 16, "render": 2, "renew": 7, "replac": 2, "repo": 4, "report": [7, 11, 12, 14], "repositori": [3, 5, 13], "repres": [8, 12], "reproduc": 2, "request": [6, 15], "requir": [10, 11, 15, 16], "research": [2, 4], "reserv": 12, "resource_track": 7, "respect": [10, 15], "restart": 0, "restrict": 15, "result": [8, 10, 13, 15], "return": [3, 15], "rich": 6, "right": [7, 8, 12, 16], "ring": 12, "rocm": 12, "room": 7, "root": [0, 7], "row": 11, "rule": 10, "run": [0, 2, 3, 4, 6, 7, 10, 11, 12, 13, 15, 16], "run_id": 11, "runtim": 16, "same": [7, 11, 12, 15], "sampl": 2, "save": [1, 2, 11, 14, 15], "save_to_api": [1, 11, 15], "save_to_fil": [11, 15], "save_to_logfir": [10, 11], "save_to_logg": [11, 14], "save_to_prometheu": [10, 11], "scale": [7, 8], "scaphandr": 12, "scenario": 13, "schedul": [3, 7, 15], "scheme": 4, "scientist": 2, "scp": 13, "script": 15, "sculpt": 7, "sdk": 14, "search": [2, 5, 10], "sec": 12, "second": [0, 7, 10, 11], "section": [0, 3, 15], "sector": 9, "secur": 12, "see": [2, 3, 7, 10, 11, 12, 13, 14, 15, 16], "select": 12, "self": 10, "semiconductor": 7, "send": [0, 10, 11, 14, 15], "sent": 10, "separ": [11, 12], "sequenti": 3, "seri": 16, "server": [1, 5, 7, 10, 11, 12, 13], "servic": [5, 10], "set": [0, 1, 2, 10, 11, 12, 14, 15], "setlevel": 14, "sever": [12, 16], "sh": 13, "share": 16, "shell": 15, "short": [7, 11], "shot": 4, "should": [4, 7, 11], "show": [8, 12, 16], "shown": 16, "side": [8, 16], "sidebar": 2, "signific": [7, 9], "significantli": 7, "silicon": 7, "simplest": 3, "sinc": [7, 11, 12], "singl": [4, 7, 15], "size": 7, "skylak": 12, "slot": [7, 11], "small": [7, 8, 15], "smi": 12, "so": [1, 3, 4, 7, 10, 11, 12, 15], "socket": 12, "solar": 7, "solut": 7, "some": [7, 12, 14, 15], "soon": [1, 15], "sophist": 9, "sourc": [4, 8, 12], "sp0": 10, "spars": 12, "sparsecategoricalcrossentropi": 3, "spec": 12, "specif": [5, 7, 9, 14, 15], "specifi": [1, 10, 11, 14], "split": 15, "ssd": [12, 13], "ssh": [0, 13], "standard": [4, 7, 9, 11], "start": [2, 3, 7, 10, 14, 15], "start_task": 15, "state": [9, 10, 11], "stdout": 2, "stick": 7, "still": [3, 7, 12, 14, 16], "stop": [3, 7, 10, 14, 15], "stop_task": 15, "strategi": 5, "stream": 14, "stress": [12, 13], "string": 11, "structur": 15, "studi": 8, "stuff": 7, "subclass": 14, "subdomain": 12, "subject": 7, "subscript": 4, "subset": 12, "subsystem": [7, 12, 13], "success": 4, "sudo": [0, 7, 11, 12, 13], "sudoer": 7, "suffix": 10, "sum": [10, 12], "superus": 12, "supplement": 12, "suppli": [7, 12], "support": [7, 11, 12, 14, 15], "suppos": 12, "sure": 2, "sustain": 4, "switch": [7, 16], "sy": [0, 7, 12, 13], "synchron": 7, "syntax": 15, "sysf": 0, "sysfsutil": 0, "syst": 12, "system": [0, 2, 7, 10, 11, 12, 14], "systemat": 11, "systemctl": 0, "systemd": 0, "systemd_servic": 0, "t": [3, 7, 12, 13, 15], "tab": 2, "tabl": [7, 8], "take": 7, "takeawai": 5, "taken": 2, "target": [0, 10], "task": [0, 9, 15], "tdp": [7, 11, 13], "team": 1, "tee": 0, "televis": 7, "tell": 1, "templat": 0, "tensorflow": 3, "termin": [1, 6], "test": [12, 15], "text": 7, "tf": 3, "than": [7, 11, 12, 14], "thank": [1, 12], "thei": [7, 12], "them": [3, 4, 7, 12, 16], "themselv": 12, "therefor": 4, "thermal": 7, "thi": [0, 1, 3, 4, 7, 8, 9, 10, 11, 12, 14, 15, 16], "think": 3, "those": [7, 16], "thousand": 7, "through": [5, 7, 12], "thu": 9, "ti": 10, "time": [2, 5, 7, 10, 15, 16], "timeseri": 1, "timestamp": 10, "tini": 8, "tm": [7, 10], "token": [11, 15], "toml": 6, "ton": 7, "tool": [2, 7, 8, 15, 16], "toolkit": 7, "top": 16, "total": [7, 10, 11, 12, 16], "trace": 0, "track": [2, 3, 7, 9, 10, 11, 12, 14, 15], "track_emiss": [1, 3, 5, 15], "tracker": [3, 7, 10, 11, 14, 15], "tracking_mod": [10, 11, 15], "tradit": 12, "train": [1, 2, 3, 8, 9, 15], "train_model": [1, 3], "training_loop": 15, "tran": 12, "transf": 8, "transit": 7, "trigger": [10, 14], "tripl": 12, "true": [1, 3, 10, 11, 12, 14, 15], "try": [3, 4, 7, 11, 15], "tv": 16, "two": [1, 3, 7, 12, 15], "typer": 6, "typic": 14, "u": [0, 8, 10, 11], "ubiquit": 9, "ubuntu": [0, 7, 13], "ui": 2, "unbuff": 7, "unchang": 15, "unclear": 12, "uncor": 12, "under": [1, 7, 12, 15], "underli": [7, 9], "understand": [7, 16], "unexpectedli": 12, "unfortun": 4, "unit": [0, 7, 11], "unless": 12, "unread": 12, "unregist": 7, "unreli": [11, 12], "up": [0, 7, 10, 11, 15], "updat": [0, 11, 12, 13], "upload": 1, "url": 11, "us": [1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16], "usa": 10, "usabl": [7, 14], "usag": [5, 11], "usb": 12, "user": [0, 7, 11, 12, 15, 16], "useradd": 0, "usernam": 7, "usr": 7, "usual": 10, "util": 10, "uuid": 15, "uv": 13, "v100": 8, "v2": [7, 11, 12], "v3": [7, 11, 13], "v4": 16, "valid": 14, "valu": [7, 10, 11, 12, 15], "var": 0, "variabl": [0, 11, 15], "variat": 7, "variou": [7, 9, 12, 14, 16], "vast": 9, "ve": 2, "vehicl": 7, "vendor": 12, "venv": 0, "verbos": [0, 11], "veri": [7, 12], "version": [10, 11, 12, 13, 15], "via": [4, 9, 12], "victor": 15, "view": [2, 4], "virtual": [0, 6], "vision": 8, "visual": [2, 5], "visudo": 7, "vit": 8, "viz": 16, "voil\u00e0": 2, "vol": 12, "w": [7, 10, 11, 12, 13], "wa": 7, "wai": [3, 15], "wait": 0, "wall": 12, "want": [7, 11, 12, 15], "wantedbi": 0, "warm": 9, "warn": [0, 11, 15], "watch": 16, "water": 11, "watt": [7, 11, 12], "we": [3, 4, 6, 7, 9, 12, 13, 15], "web": [1, 15], "webhook": 10, "websit": [2, 6], "week": [7, 9], "weekli": 16, "weight": 7, "welcom": 7, "well": 4, "wh": 7, "what": [4, 7, 12], "when": [2, 4, 7, 10, 11, 12, 15], "where": [7, 10, 11, 15], "which": [7, 9, 11, 15], "while": 12, "who": 16, "whole": 12, "wikipedia": 15, "wind": 7, "window": [7, 10], "within": [12, 15], "without": [7, 12, 15], "wonder": 15, "work": [0, 4, 9, 15, 16], "workaround": 12, "workingdirectori": 0, "world": [4, 5, 7, 13], "would": [7, 8, 9, 12], "wrap": [12, 15], "wraparound": 12, "wren": 4, "write": 15, "written": [11, 15], "wrong": 12, "wue": 11, "x": [7, 10, 11, 12, 13], "x86": 7, "x_test": 3, "x_train": 3, "xeon": 13, "xxx": 13, "y": [10, 12, 13], "y_test": 3, "y_train": 3, "year": [5, 7, 9], "yet": 15, "yield": 15, "yml": 0, "york": 11, "you": [0, 1, 2, 3, 4, 7, 10, 11, 12, 13, 15, 16], "your": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 15, 16], "your_api_kei": 0, "your_experiment_id": 0, "your_org_id": 0, "your_project_id": 0, "yourdomain": 0, "yourself": 7, "yourservernam": 0, "z": 12, "zone": 11}, "titles": ["Advanced Installation", "CodeCarbon API", "Comet Integration", "Examples", "Frequently Asked Questions", "CodeCarbon", "Installing CodeCarbon", "Methodology", "Model Comparisons", "Motivation", "Output", "Parameters", "RAPL Metrics", "Test of CodeCarbon on Scaleway hardware", "Collecting emissions to a logger", "Quickstart", "Visualize"], "titleterms": {"": 12, "15w": 12, "16": 12, "1950x": 12, "265h": 12, "28w": 12, "32": 12, "7": 12, "7600u": 12, "7th": 12, "access": 15, "across": 7, "advanc": 0, "ai": 8, "amd": 12, "an": 14, "ansibl": 0, "api": [1, 10], "architectur": 12, "ask": 4, "authent": 14, "avail": 12, "behavior": 12, "calcul": 7, "car": 7, "carbon": [7, 16], "citizen": 7, "cli": 0, "cloud": [8, 14, 16], "code": 7, "codecarbon": [0, 1, 5, 6, 7, 10, 12, 13], "collect": 14, "comet": 2, "command": 15, "comparison": [8, 16], "conda": 6, "configur": 15, "consumpt": 8, "context": [3, 15], "core": 12, "count": 12, "countri": 16, "cpu": 7, "creat": 14, "csv": 10, "data": 10, "decor": [3, 15], "depend": 6, "deploi": 0, "desktop": 12, "detail": 16, "die": 12, "directori": 0, "doe": 0, "domain": 12, "doubl": 12, "each": 10, "electr": [8, 16], "emiss": [7, 14], "emissiontrack": 14, "energi": 7, "equival": [7, 16], "estim": 7, "exampl": [3, 12, 14], "experi": 10, "explicit": [3, 15], "field": 10, "formula": 7, "frequent": 4, "from": [6, 16], "gen": 12, "get": 5, "global": 16, "googl": 14, "gpu": 7, "hardwar": [7, 13], "hierarchi": 12, "how": [7, 10], "http": 10, "i7": 12, "impact": 8, "indic": 5, "input": 11, "instal": [0, 6, 16], "instanc": 8, "integr": 2, "intel": 12, "intens": [7, 16], "internet": 15, "introduct": 5, "kabi": 12, "kei": 12, "lake": 12, "laptop": 12, "line": 15, "linux": 0, "local": 10, "log": [5, 10, 14], "logfir": 10, "logger": [10, 14], "manag": [3, 15], "measur": 12, "methodologi": 7, "metric": [7, 12], "mode": [11, 15], "model": 8, "more": 16, "motiv": 9, "multi": 12, "object": [3, 15], "offlin": [11, 15, 16], "offlineemissionstrack": 11, "onlin": [15, 16], "output": [10, 11], "paramet": 11, "per": 16, "platform": 12, "playbook": 0, "power": 7, "prerequisit": 0, "prioriti": [7, 15], "product": 16, "prometheu": 10, "proxi": 15, "pypi": 6, "python": 14, "question": 4, "quick": 0, "quickstart": 15, "r": 12, "ram": 7, "rapl": [7, 12], "real": 12, "refer": [7, 8], "region": [8, 16], "repositori": 6, "ryzen": 12, "scalewai": 13, "server": 15, "servic": 0, "sourc": 7, "specif": [11, 12], "start": [0, 5], "strategi": 12, "structur": 0, "summari": 16, "tabl": 5, "takeawai": 12, "tdp": 12, "test": [10, 13], "thread": 12, "threadripp": 12, "through": 15, "time": 8, "tm": 12, "track_emiss": 11, "tv": 7, "u": 7, "ultra": 12, "us": [0, 3, 10], "usag": [7, 16], "visual": 16, "weekli": 7, "what": 0, "work": 7, "world": 12, "year": 8}}) \ No newline at end of file +Search.setIndex({"alltitles":{"@track_emissions":[[11,"track-emissions"]],"Access internet through proxy server":[[15,"access-internet-through-proxy-server"]],"Advanced Installation":[[0,null]],"Authentication":[[14,"authentication"]],"Available RAPL Domains":[[12,"available-rapl-domains"]],"CPU":[[7,"cpu"]],"CPU hardware":[[7,"cpu-hardware"]],"CPU metrics priority":[[7,"cpu-metrics-priority"]],"CSV":[[10,"csv"]],"Calculation Formula":[[7,"calculation-formula"]],"Car Usage":[[7,"car-usage"]],"Carbon Intensity":[[7,"carbon-intensity"]],"Carbon Intensity Across Energy Sources":[[7,"id2"]],"Cloud Regions":[[16,"cloud-regions"]],"CodeCarbon":[[5,null]],"CodeCarbon API":[[1,null],[1,"id1"],[10,"codecarbon-api"]],"CodeCarbon\u2019s RAPL Strategy":[[12,"codecarbon-s-rapl-strategy"]],"Collecting emissions to a logger":[[14,null]],"Comet Integration":[[2,null]],"Command line":[[15,"command-line"]],"Comparisons":[[8,"comparisons"]],"Configuration":[[15,"configuration"]],"Configuration priority":[[15,"configuration-priority"]],"Context manager":[[15,"context-manager"],[15,"id2"]],"Create a logger":[[14,"create-a-logger"]],"Create an EmissionTracker":[[14,"create-an-emissiontracker"]],"Data Fields Logged for Each Experiment":[[10,"id4"]],"Decorator":[[15,"decorator"],[15,"id3"]],"Dependencies":[[6,"dependencies"]],"Deploy CodeCarbon CLI as a Service using Ansible":[[0,"deploy-codecarbon-cli-as-a-service-using-ansible"]],"Desktop: AMD Ryzen Threadripper 1950X (16-Core, 32 threads, Multi-die)":[[12,"desktop-amd-ryzen-threadripper-1950x-16-core-32-threads-multi-die"]],"Directory Structure":[[0,"directory-structure"]],"Electricity consumption of AI cloud instance":[[8,"id1"]],"Electricity production carbon intensity per country":[[16,"electricity-production-carbon-intensity-per-country"]],"Estimation of Equivalent Usage Emissions":[[7,"estimation-of-equivalent-usage-emissions"]],"Example":[[14,"example"]],"Examples":[[3,null]],"Explicit Object":[[15,"explicit-object"],[15,"id1"]],"Frequently Asked Questions":[[4,null]],"From PyPi repository":[[6,"from-pypi-repository"]],"GPU":[[7,"gpu"]],"Getting Started":[[5,null]],"Google Cloud Logging":[[14,"google-cloud-logging"]],"HTTP Output":[[10,"http-output"]],"How CodeCarbon Works":[[7,"how-codecarbon-works"]],"How to test in local":[[10,"how-to-test-in-local"]],"How to use it":[[10,"how-to-use-it"]],"Impact of time of year and region":[[8,"impact-of-time-of-year-and-region"]],"Indices and tables":[[5,"indices-and-tables"]],"Input Parameters":[[11,"input-parameters"],[11,"id6"]],"Input Parameters to @track_emissions":[[11,"id9"]],"Input Parameters to OfflineEmissionsTracker":[[11,"id8"]],"Install CodeCarbon as a Linux service":[[0,"install-codecarbon-as-a-linux-service"]],"Installation":[[16,"installation"]],"Installing CodeCarbon":[[6,null]],"Introduction":[[5,null]],"Key Takeaways for RAPL Measurements":[[12,"key-takeaways-for-rapl-measurements"]],"Laptop: Intel(R) Core(TM) Ultra 7 265H (TDP 28W)":[[12,"laptop-intel-r-core-tm-ultra-7-265h-tdp-28w"]],"Laptop: Intel(R) Core(TM) i7-7600U (TDP 15W, 7th Gen Kaby Lake)":[[12,"laptop-intel-r-core-tm-i7-7600u-tdp-15w-7th-gen-kaby-lake"]],"Logfire":[[10,"logfire"]],"Logger Output":[[10,"logger-output"]],"Logging":[[5,null]],"Methodology":[[7,null]],"Model Comparisons":[[8,null]],"Motivation":[[9,null]],"Offline":[[16,"offline"]],"Offline Mode":[[15,"offline-mode"]],"Online":[[16,"online"]],"Online Mode":[[15,"online-mode"]],"Output":[[10,null]],"Output Parameters":[[11,"id7"]],"Output parameters":[[11,"output-parameters"]],"Parameters":[[11,null]],"Platform-Specific Behavior":[[12,"platform-specific-behavior"]],"Power Usage":[[7,"power-usage"]],"Prerequisites":[[0,"prerequisites"]],"Prometheus":[[10,"prometheus"]],"Python logger":[[14,"python-logger"]],"Quick Start":[[0,"quick-start"]],"Quickstart":[[15,null]],"RAM":[[7,"ram"]],"RAPL Domain Architecture":[[12,"rapl-domain-architecture"]],"RAPL Domain Hierarchy and Double-Counting":[[12,"rapl-domain-hierarchy-and-double-counting"]],"RAPL Measurements: Real-World Examples":[[12,"rapl-measurements-real-world-examples"]],"RAPL Metrics":[[7,"rapl-metrics"],[12,null]],"References":[[7,"references"],[8,"references"]],"Regional Comparisons":[[16,"regional-comparisons"]],"Source Code":[[7,"source-code"]],"Specific parameters for offline mode":[[11,"specific-parameters-for-offline-mode"]],"Summary and Equivalents":[[16,"summary-and-equivalents"]],"TV Usage":[[7,"tv-usage"]],"Test of CodeCarbon on Scaleway hardware":[[13,null]],"US Citizen Weekly Emissions":[[7,"us-citizen-weekly-emissions"]],"Usage":[[16,"usage"]],"Using CodeCarbon with logfire":[[10,"using-codecarbon-with-logfire"]],"Using CodeCarbon with prometheus":[[10,"using-codecarbon-with-prometheus"]],"Using Conda environments":[[6,"using-conda-environments"]],"Using the Context Manager":[[3,"using-the-context-manager"]],"Using the Decorator":[[3,"using-the-decorator"]],"Using the Explicit Object":[[3,"using-the-explicit-object"]],"Visualize":[[16,null]],"What the Playbook Does":[[0,"what-the-playbook-does"]],"detailed":[[16,"detailed"]],"from global\u2026":[[16,"from-global"]],"to more and more\u2026":[[16,"to-more-and-more"]]},"docnames":["advanced_installation","api","comet","examples","faq","index","installation","methodology","model_examples","motivation","output","parameters","rapl","test_on_scaleway","to_logger","usage","visualize"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["advanced_installation.rst","api.rst","comet.rst","examples.rst","faq.rst","index.rst","installation.rst","methodology.rst","model_examples.rst","motivation.rst","output.rst","parameters.rst","rapl.rst","test_on_scaleway.rst","to_logger.rst","usage.rst","visualize.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"":[0,2,5,7,9,10,11,15,16],"0":[0,3,7,8,10,12,13,15,16],"0000":15,"00w":12,"02":8,"02w":12,"03":8,"04":8,"0440":0,"04w":12,"05":12,"07w":12,"084":7,"1":[7,8,10,11,12,15],"10":[0,3,7,10,12,15],"100":12,"1000":3,"100w":12,"1065g7":10,"1080":10,"10th":12,"10w":7,"11":[7,8,10],"1145":12,"116":12,"12":[7,12,13],"121":8,"123":10,"1240":13,"125":12,"128":[3,7],"128gb":7,"13":[7,8],"131w":12,"137":12,"138":7,"14":[7,12],"14w":12,"15":[7,11,12],"159":13,"16":7,"169":8,"17":7,"171":12,"172":12,"180":12,"181":12,"1892":12,"19":8,"19044":10,"192":8,"1tb":7,"2":[2,3,7,8,10,11,12,13],"20":[7,12],"2000":7,"201":8,"2017":12,"2018":12,"2020":12,"2023":7,"2025":12,"207":13,"20w":7,"21":[7,8,12],"214":13,"216":8,"21w":12,"22":12,"22w":12,"234":12,"235b1da5":15,"237":8,"23w":12,"24":12,"2400":7,"25":7,"255":3,"256":[7,8],"26":[7,12],"2620":13,"27w":12,"28":3,"280":12,"280w":12,"29":[7,12],"2w":12,"3":[2,6,7,8,10,11,12,15],"30":[0,1,12],"30ghz":10,"3177754":12,"31w":12,"32":[7,16],"32gb":7,"33":7,"3333":16,"35":7,"35w":12,"36":[8,12],"37":[7,8,12],"37w":12,"38":[7,12],"3w":7,"3x":12,"4":[1,7,8,15],"40":12,"40ghz":13,"40w":[7,12],"44":12,"44w":12,"457":7,"46w":12,"475":[4,7],"47w":12,"48":7,"4f":3,"4gib":7,"4w":12,"5":[0,7,11,12],"50":[7,12],"51":13,"52":7,"54w":12,"59":7,"5w":[7,12],"6":[7,8,12],"60":13,"61":12,"62":12,"64":[7,13],"64gb":7,"66w":12,"68":12,"69w":12,"6b":8,"6w":12,"7":[7,8],"70":7,"731":7,"73w":12,"743":7,"76":12,"7600u":7,"7777":15,"77778e":7,"8":[6,7,8,10,11,12],"80":7,"8008":15,"8024p":13,"8050":16,"812":8,"816":7,"82":12,"85":13,"854453231":12,"85w":12,"86":12,"8694":12,"88":12,"88w":12,"893681599d2c":15,"8gb":7,"8w":12,"8x128gb":7,"9":[7,12],"90":[7,8],"9090":10,"93":8,"960":13,"97w":12,"995":7,"A":[7,11,14,15,16],"And":[1,2],"As":[7,9,12],"But":[3,4,7],"By":[10,12],"For":[4,7,9,10,11,12,13,15],"IT":4,"If":[3,4,6,7,10,11,12,15,16],"In":[1,2,7,8,9,11,14,15],"It":[0,1,4,7,10,14,15,16],"NOT":12,"No":12,"OR":12,"On":[7,8,12],"One":10,"Or":[1,15],"The":[0,1,3,6,7,8,10,11,12,14,15,16],"Then":[1,7],"There":[4,7,12],"These":[7,11],"To":[0,2,6,7,13],"With":9,"_":15,"__main__":[1,3],"__name__":[1,3],"_channel":14,"_logger":14,"_scheduler_monitor_pow":7,"a100":8,"aaaa":15,"abl":[2,10],"about":[4,7,15],"abov":[0,6,7,12],"absenc":15,"access":[0,5,7,12],"account":[0,1,2,7],"accur":[4,7,12],"accuraci":[3,7,12],"achiev":9,"acm":12,"across":[8,9,10,12,16],"action":12,"activ":[3,6,7,16],"actual":[4,7,12],"adam":3,"add":[2,3,4,7,11,12,13,14],"addhandl":14,"addit":[7,11,15,16],"administr":7,"advanc":[5,9],"affect":[11,12],"after":[0,3,14],"against":11,"agenc":[7,8],"agent":12,"ai":9,"alert":10,"algorithm":7,"all":[4,7,10,12,15],"allow":[10,11,14,15],"allow_multiple_run":11,"alon":12,"along":[2,6,15],"alongsid":2,"alphabet":[10,15],"also":[9,14,15,16],"although":4,"alwai":[0,3],"amazon":4,"amd":[7,13],"american":16,"amount":[7,9,16],"an":[0,1,2,3,4,7,10,15,16],"analysi":12,"analyz":4,"ani":[4,7,15],"annual":7,"anoth":[7,8,16],"ansibl":5,"ansible_ssh_private_key_fil":0,"ansible_us":0,"anymor":7,"api":[0,2,5,11,15,16],"api_call_interv":[0,1,11,15],"api_endpoint":[0,11],"api_kei":[0,2,11],"app":16,"appear":[10,12],"append":11,"appl":7,"appli":7,"approach":[7,9,12],"approx":7,"approxim":7,"apr":12,"apt":[0,13],"ar":[0,3,4,6,7,8,9,10,11,12,14],"architectur":5,"argument":[11,16],"arm":7,"arrow":6,"art":9,"artifact":[2,11],"artifici":9,"asia":10,"ask":[5,10],"associ":7,"assum":7,"assumpt":7,"astral":13,"attribut":15,"auth":10,"autom":0,"automat":[2,3,7,12],"automaticli":11,"avail":[3,4,5,7,10,11,13,14,15,16],"averag":[0,4,7,8,10,12,16],"avoid":12,"aw":10,"awar":[7,15],"azur":[8,10],"b112x":13,"back":[2,7,12,13],"background":3,"backward":16,"bar":16,"barchart":16,"base":[0,7,8,10,12,14,15],"baselin":12,"baseoutput":10,"batteri":12,"becaus":[4,7,12,13,15],"becom":9,"been":7,"befor":[1,12],"begin":[3,15],"behavior":5,"being":[11,16],"below":[0,3,8,12,16],"benchmark":16,"bert":8,"bert_infer":15,"best":[3,4,12],"better":[7,16],"between":[11,12],"bin":[0,7,13],"biomass":7,"black":8,"block":[3,7,15],"blog":[7,12],"blue":8,"bookworm":13,"boolean":11,"boot":12,"both":[7,9,12,15],"brazilsouth":10,"brief":13,"broader":9,"bubbl":16,"bui":7,"build":[14,15],"build_model":15,"built":[10,16],"c":[7,11,15],"cach":12,"calcul":4,"california":11,"call":[3,7,10,11,15],"can":[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16],"canada":11,"capac":7,"capita":7,"car":9,"carbon":[2,4,5,8,9,15],"carbonboard":16,"case":[4,8,10,15,16],"caus":12,"cd":13,"cell":15,"center":11,"central":[1,14],"ceram":7,"certain":1,"chang":[0,12],"chapter":0,"characterist":12,"chart":16,"check":0,"checkout":13,"chess":9,"chih":[7,12],"chip":[7,12],"chipset":[11,12],"chmod":[0,12,13],"choic":4,"choos":[4,11,12,13],"chose":16,"chown":0,"citi":[10,11],"class":[0,7,10,12,13,14],"clevercloud":1,"cli":[5,6,15,16],"click":[2,6,16],"client":[6,14],"clone":13,"close":12,"cloud":[4,7,10,11],"cloud_provid":[10,11],"cloud_region":[10,11],"co2":[7,15],"co2eq":3,"co2sign":11,"coal":7,"code":[1,2,3,4,10,11,13,15],"codecarbon":[2,3,4,8,11,14,15,16],"codecarbon_":[10,15],"codecarbon_cli_as_a_servic":0,"codecarbon_gpu_id":15,"codecarbon_log_level":15,"colin":13,"collect":[5,10],"collector":14,"com":[0,4,11,12,13],"combust":9,"come":[15,16],"comet":5,"comet_ml":2,"comma":11,"command":[6,7,13,16],"common":12,"commun":4,"compar":[2,7,8,16],"compare_cpu_load_and_rapl":13,"comparison":[5,7],"compat":16,"compil":3,"complet":[11,12,15],"compon":12,"compos":[10,15],"comprehens":12,"comput":[3,4,7,8,9,10,12,15],"concern":16,"conda":5,"condit":[7,10],"conf":0,"config":[0,1,15],"configpars":15,"configur":[0,5,7,10],"connect":[13,14,16],"consequ":9,"consid":7,"consider":[8,12],"consist":[11,12],"consol":13,"constant":7,"consum":[7,9,11,12,16],"consumpt":[7,11,12,16],"consumption_percentag":11,"contact":7,"contain":[7,12,16],"context":5,"continu":3,"contribut":7,"control":12,"convert":7,"copi":[2,3],"core":[7,10],"correct":12,"correctli":12,"correspond":[7,15],"could":[1,7,8,11,12,15],"count":[4,5,7],"counter":[7,12],"countri":[4,7,10,11,15],"country_2letter_iso_cod":11,"country_iso_cod":[10,11,15],"country_nam":10,"cover":4,"co\u2082":[7,9,10],"co\u2082eq":[7,9,10],"cpu":[5,10,11,12,13,15],"cpu_count":10,"cpu_energi":10,"cpu_load_profil":13,"cpu_model":10,"cpu_pow":10,"cpu_utilization_perc":10,"cpuinfo":6,"crash":3,"creat":[0,1,2,5,6,12,15],"credenti":0,"critic":[11,12,14],"csv":[5,11,13,15,16],"ctrl":15,"cuda_visible_devic":11,"curl":13,"current":[7,9,10,11,12,15,16],"curtail":9,"custom":10,"cve":12,"cycl":4,"dai":7,"daili":[7,16],"dash":16,"dashboard":[0,1,7,16],"data":[1,2,3,4,7,9,11,12,13,14],"databas":10,"datacent":4,"dataset":[2,3,15],"ddr":12,"ddr4":7,"debian":[0,13],"debug":[11,14,15],"decor":[5,11],"decreas":7,"dedic":[0,11,14],"dedupl":12,"deep":[3,8],"def":[1,3,15],"default":[1,2,4,7,10,11,12,14,15,16],"defin":7,"definit":2,"delet":13,"delta_0":12,"demonstr":14,"dens":[3,8],"depend":[5,9,12,15,16],"deploi":[5,9,10],"deposit":7,"deprec":16,"deriv":[7,10],"describ":[0,8,11],"descript":[0,10,11],"design":7,"desir":12,"desktop":7,"despit":[7,12],"detail":[2,11,12,15],"detect":[7,12,15],"develop":[8,9,10,15],"devic":[10,12],"di":[7,12],"did":4,"die":7,"differ":[4,7,8,9,12,16],"digit":3,"dimm":[7,11],"dioxid":[7,9],"direct":[4,7],"directori":[7,10,11,12,15],"disabl":12,"discharg":12,"discontinu":7,"discret":12,"discuss":[7,12],"disk":15,"displai":[3,8,10,12,16],"distinct":14,"distribut":12,"dive":16,"divid":[7,10,16],"do":[1,4,7,11,12,13,15],"docker":[10,15],"document":[12,14,15],"doe":[4,12],"doesn":7,"doi":12,"domain":[5,11],"don":[3,7,12],"done":[0,4,10],"doubl":5,"dram":[11,12],"draw":7,"drive":[7,9,12],"driven":[7,16],"dropout":3,"dt":10,"due":12,"duplic":12,"durat":10,"dure":[3,7,9,10,12],"e":[3,7,10,12],"e3":13,"e5":13,"each":[7,12,15,16],"easili":2,"east":10,"east1":10,"echo":0,"eco":16,"ecolog":7,"effect":11,"effici":[7,9],"either":11,"electr":[4,7,9,11,15],"electricitymap":11,"electricitymaps_api_token":[11,15],"els":2,"em":13,"emiss":[1,2,3,4,5,8,9,10,11,15,16],"emissions_endpoint":15,"emissions_r":10,"emissionstrack":[2,3,14,15],"emissiontrack":10,"emit":[7,8,9],"enabl":[0,9,12,15],"encapsul":11,"end":[3,7,11],"endpoint":[11,15],"energi":[4,8,9,10,12,16],"energy_consum":10,"energy_uj":[0,7,12],"enhanc":10,"enorm":9,"ensur":[3,7],"ensurepath":13,"entail":9,"enter":7,"enterpris":4,"entir":[11,12],"entireti":4,"entri":15,"environ":[0,2,5,7,10,15],"environment":[7,8,9],"eof":0,"epoch":3,"epyc":13,"eq":[4,7],"equival":[5,8,9,10],"eras":11,"error":[3,11],"estim":[4,5,8,9,11],"etc":[0,12,14],"etch":7,"european":7,"eval":12,"evalu":10,"even":[3,4],"ever":[7,16],"everi":[0,2,7,11],"everyth":[2,12,15],"exact":7,"exampl":[2,5,7,9,10,11,13,15,16],"excel":12,"except":[3,7,12],"exclud":12,"exclus":12,"execstart":0,"execut":16,"exemplari":16,"exist":[4,7,11,15,16],"expect":12,"experi":[1,2,9,11,12,15,16],"experiment_id":[0,1,11,15],"explain":2,"explan":12,"explicit":5,"export":[13,15],"expos":[10,11,12],"express":[7,9,10],"extra":16,"f":3,"face":9,"fact":9,"factor":[4,7,11],"fall":[7,12],"fallback":7,"fals":[0,11,12,15],"fan":12,"fast":7,"featur":[7,9,12],"fetch":15,"fief":6,"figur":12,"file":[0,1,2,7,10,11,12,14,15,16],"filehandl":14,"filepath":16,"filter":[12,14],"final":[3,15],"final_emiss":3,"final_emissions_data":3,"find":4,"finish":3,"fintetun":8,"first":[0,7,8,10,14,15],"fit":3,"flatten":3,"float":[3,14],"flush":[11,15],"fn":11,"focu":4,"folder":15,"follow":[0,3,4,6,7,8,10,11,13,15,16],"footprint":[2,4,7,9],"forbid":14,"forc":11,"force_cpu_pow":11,"force_ram_pow":[7,11],"format":10,"former":11,"formerli":11,"fossil":[7,9],"found":[2,7,15],"fourth":8,"fra":15,"frac":7,"fraction":7,"framework":15,"free":[1,2],"french":7,"frequent":[5,7],"friendli":16,"from":[0,1,2,3,4,5,7,8,10,11,12,13,14,15],"from_logit":3,"fuel":[7,9],"full":[7,12,13],"function":[3,4,11,15],"further":7,"futur":[11,12],"g":[0,3,7,10,12],"ga":7,"gadget":7,"galleri":2,"game":[9,12],"gase":9,"gb":[7,10,13],"gco2":[4,7],"gcp":10,"geforc":10,"gener":[7,9,12,15,16],"geograph":10,"geotherm":7,"get":[0,1,2,3,7,11,13,15,16],"getlogg":14,"git":13,"github":[3,7,12,13],"give":[0,7],"given":10,"global":[4,7,9,11,15],"global_energy_mix":11,"globalpetrolpric":4,"go":[0,2,9,10],"goe":[1,15],"gold":[4,7],"good":[4,7,10],"googl":[4,11],"google_project_nam":14,"googlecloudloggeroutput":14,"got":16,"gpu":[1,8,10,11,12,15],"gpu_count":10,"gpu_energi":10,"gpu_id":[11,15],"gpu_model":10,"gpu_pow":10,"gpu_utilization_perc":10,"graph":[2,8],"great":8,"greater":4,"greener":11,"greenhous":9,"grep":[7,11],"grid":[7,9,16],"group":[0,12],"grow":9,"gtx":10,"h":[8,10],"ha":[3,4,7,8,9,10,15,16],"habit":4,"hand":16,"handler":[11,14],"happen":[7,16],"hard":4,"hardwar":[5,11,12,15],"have":[1,2,4,7,8,9,10,11,12,15],"header":15,"help":[4,7,11],"here":[1,4,6,7,8,11,14,15],"hesit":7,"heurist":7,"hierarch":[12,15],"hierarchi":5,"high":[7,12],"higher":[11,12],"highest":7,"hirki":12,"histor":10,"home":[13,15],"hood":15,"host":[0,6,10,11,15,16],"hostnam":0,"hour":[7,8,9,11],"hous":7,"household":16,"how":[0,4,11,15],"howev":[7,15],"html":[7,12],"htop":13,"http":[0,5,7,11,12,13,15],"http_proxi":15,"https_proxi":15,"hubblo":12,"huge":8,"human":9,"hydroelectr":7,"hyperparamet":2,"i":[0,1,3,4,6,7,9,10,11,12,13,14,15,16],"i120":13,"i7":[7,10],"id":[1,10,11],"id_ed25519":0,"identifi":[11,12],"idl":12,"iea":[4,7],"illustr":16,"imag":[3,9],"imdb":15,"imdb_emiss":15,"impact":[5,7,9,11],"implement":[10,12,15],"import":[1,3,9,12,14,15],"improv":[4,7],"inch":16,"includ":[7,11,12],"include_dram":12,"incred":9,"independ":12,"index":[5,11],"indic":11,"individu":12,"industri":9,"ineffici":12,"infer":15,"info":[11,12,14],"inform":[0,4,7,12,15,16],"infra":4,"infrastructur":[4,7,10,11,15,16],"ini":15,"init":7,"initi":[4,15],"input":[5,10],"input_shap":3,"instal":[2,5,7,13],"install_codecarbon":0,"instanc":[11,15],"instant":7,"instanti":[3,7,15],"instead":[12,16],"instruct":[0,12],"integ":11,"integr":[5,12],"intel":[0,7,10,13],"intellig":[9,12],"intens":[1,4,5,8,11,15],"interact":3,"interconnect":12,"interfac":[1,7,10,12],"interfer":15,"intern":15,"internet":5,"interv":[7,10,11],"introduc":12,"investig":12,"io":[0,11,12],"iso":[10,11,15],"isol":11,"issu":[4,7,12],"issuecom":12,"its":[4,7,8,10,14,16],"itself":[6,7],"j":12,"j2":0,"job":2,"joul":7,"journalctl":0,"json":11,"jupyt":15,"just":[3,7,15],"k":12,"keep":[4,7,15],"kei":[0,2,5,11],"kera":3,"kernel":[7,12],"kg":[7,10],"kgco\u2082":7,"khan":12,"kilogram":[7,9],"kilomet":7,"kilowatt":[7,9,11],"king":13,"km":10,"km\u00b2":10,"know":[7,11],"knowledg":7,"known":7,"kwh":[4,7,8,10,11,12],"l":11,"lack":14,"languag":8,"laptop":7,"larg":[7,8,9],"last":[7,12,15],"latest":6,"latitud":10,"launchpadlib":13,"layer":3,"lcd":16,"learn":[3,8,9],"least":7,"left":[2,16],"legaci":[12,16],"let":4,"letter":[10,11,15],"level":[7,9,11,12,14,16],"leverag":[9,14],"librari":[7,15],"life":[4,16],"light":[7,8],"like":[7,9,12,15],"limit":[0,1,7,12],"line":[3,7,8,12],"linear":7,"linearli":7,"link":2,"linux":[5,7,11,12],"list":[6,7,11,15],"litr":11,"ll":2,"llc":12,"load":[7,12,13,15],"load_data":3,"load_dataset":15,"local":[4,7,13,14,15],"localhost":[10,15],"localis":8,"locat":[8,11],"log":[0,8,11,16],"log_level":[0,11,15],"log_nam":14,"logfir":[5,11],"logger":[5,11,16],"logger_preambl":11,"loggeroutput":[11,14],"logging_demo":14,"logging_logg":[11,14],"logic":7,"login":[0,1],"longer":6,"longitud":10,"loss":[3,12],"loss_fn":3,"lost":12,"low":[7,11,12],"lower":12,"lshw":[7,11],"lssf":13,"m":[0,10,12],"m1":7,"m2":7,"mac":7,"machin":[0,1,7,9,10,11],"made":4,"mai":[11,12,14],"main":[0,7],"maintain":6,"major":10,"make":[2,4,7],"manag":[5,6],"mandatori":11,"mani":[4,11],"manner":15,"manual":[0,11,15],"manufactur":7,"map":[7,11,12],"massiv":12,"match":[7,11,12],"matrixprod":13,"matter":9,"max":[7,11],"max_energy_range_uj":12,"maximum":12,"mb":7,"me":[7,12],"mean":10,"measur":[0,5,7,8,9,11,15],"measure_power_sec":[0,1,7,11,15],"medium":7,"memori":[7,11,12],"mention":7,"messag":[11,14],"metadata":16,"meter":12,"method":[3,7,13],"methodologi":5,"metric":[2,3,5,10,13],"mhz":7,"micro":7,"microjoul":12,"microsoft":[4,8],"might":8,"mile":16,"mind":4,"minim":15,"minimum":7,"minut":0,"miss":[4,7,12],"mix":[4,7,16],"mixtur":7,"mkdir":[0,13],"ml":[2,6,7],"mlco2":13,"mmio":12,"mnist":[2,3],"mode":[0,1,5,7,10,12],"model":[3,5,7,9,12,15],"model_emiss":15,"modern":[7,12],"modifi":[7,15],"modul":[5,7],"monitor":[0,1,7,10,12,15],"month":9,"monthli":4,"more":[1,2,7,9,11,12,15],"most":[8,12,16],"motherboard":[7,12],"motiv":5,"msr":12,"much":4,"multi":0,"multipl":[11,12],"multipli":4,"must":15,"mwh":7,"my":4,"my_logg":14,"n":[7,10,12],"name":[6,7,10,11,12,14,15],"nativ":7,"natur":7,"nb":8,"ncarbon":3,"ndetail":3,"nearbi":7,"necessari":7,"need":[1,2,3,7,10,14,15,16],"neither":[4,7],"net":[7,16],"network":[0,14],"never":[3,12],"new":[11,13],"newer":12,"next":12,"ng":[12,13],"nice":1,"niemi":12,"nlp":8,"node_export":12,"non":12,"none":[7,11],"nopasswd":7,"nor":7,"normal":[7,15],"notabl":4,"note":[7,11,12,15],"notebook":[3,13,15],"noth":10,"now":[0,2,7,13],"npu":12,"nuclear":7,"number":[7,10,11,16],"nurminen":12,"nvidia":[6,7,10,12],"nvme":[12,13],"o":[10,12,13,15],"object":[2,5,9,11],"observ":10,"occur":3,"offlin":5,"offlineemissionstrack":[10,15],"offlineemissiontrack":14,"offset":4,"often":4,"old":[7,11],"older":[11,12],"on_cloud":10,"on_csv_writ":11,"onc":[2,10],"one":[4,7,10,14,16],"ones":11,"onli":[3,4,7,11,12],"onlin":5,"open":[4,7],"openapi":1,"opt":0,"optim":3,"option":[1,4,7,11,12,14,15,16],"order":[9,11,14],"org":12,"organ":1,"organis":16,"organization_id":0,"other":[0,3,4,7,9,12,14],"otherwis":14,"ou":12,"our":[4,7],"ourworld":4,"out":[4,12],"output":[5,14],"output_dir":[10,11,15],"output_fil":11,"output_handl":11,"over":[11,12],"overhead":[7,15],"overlap":12,"overrid":[7,11,15],"overwrit":15,"own":[1,8],"owner":0,"ownership":0,"p":13,"p40":8,"packag":[0,2,4,6,7,9,10,11,12,14,16],"page":[2,5],"panda":6,"panel":2,"parallel":14,"param":15,"paramet":[5,7,10,15],"part":[7,9],"particular":16,"pass":[7,15],"passeng":7,"password":7,"past":3,"path":[7,11,13,16],"pattern":9,"pcie":[11,12],"per":[7,9,10,11],"perf":13,"perform":[9,12],"period":10,"peripher":12,"permiss":[0,7,12],"person":2,"petroleum":7,"physic":7,"pi":7,"piec":[7,15],"pip":[0,2,6,16],"pipx":13,"place":10,"placehold":2,"plai":[4,9],"plastic":7,"plate":7,"platform":[4,5,10,11],"pleas":[4,6,14,15,16],"plug":12,"point":[8,12,15,16],"polici":8,"popul":11,"popular":8,"port":16,"possibl":7,"potenti":[9,12],"power":[0,2,5,9,10,11,12,14,16],"power_const":11,"powercap":[0,7,12,13],"powermetr":7,"powertop":12,"pp":12,"ppa":13,"precis":10,"prefer":[11,12],"prefer_psi":12,"prefix":11,"present":[8,12],"pretrain":8,"prevent":15,"previou":[0,7],"price":4,"print":[3,15],"priorit":12,"prioriti":[4,5],"privaci":10,"privat":[4,10,14,15],"probabl":11,"process":[7,9,10,11,14,15,16],"processor":[7,9,12],"produc":[4,9,16],"product":7,"program":[3,9],"project":[1,3,4,10,11,14,16],"project_id":0,"project_nam":[3,10,11,15],"prometheu":[5,11,12],"prometheus_cli":6,"prometheus_password":10,"prometheus_url":11,"prometheus_usernam":10,"prompt":15,"proport":7,"propos":7,"protect":[8,10],"provid":[2,7,10,11,12,14,15,16],"provinc":[10,11],"proxi":5,"psu":12,"psutil":[6,7],"psy":[11,12],"public":[2,4,15,16],"publicli":7,"publish":4,"pue":11,"purpos":9,"push":10,"pushgatewai":10,"py":[2,6,7,10,13,14],"pypi":5,"pyproject":6,"python":[0,6,13,15],"python3":[0,13],"python_vers":10,"quantifi":[4,7],"quartil":8,"question":5,"questionari":6,"quickstart":5,"r":[0,7,10,13],"ram":[10,11,12,15],"ram_energi":10,"ram_pow":10,"ram_total_s":10,"ram_used_gb":10,"ram_utilization_perc":10,"rang":[10,12],"rapidfuzz":6,"rapl":[0,5,11,13],"rapl_include_dram":11,"rapl_prefer_psi":11,"rapsberri":7,"rare":12,"raspberri":7,"rate":12,"rather":7,"ratio":7,"re":[6,15],"read":[0,7,12,15],"real":[5,13],"realli":7,"reason":[7,9],"reboot":12,"recent":9,"recogn":[3,4,7,9],"recommend":[3,4,6,12,15,16],"record":15,"recur":4,"reduc":[4,7,10],"refer":[5,6,12,14,15],"region":[4,5,7,10,11,15],"regist":12,"releas":4,"relev":8,"reli":15,"reliabl":[11,12],"relu":3,"remain":[1,15],"remark":9,"remov":16,"render":2,"renew":7,"replac":2,"repo":4,"report":[7,11,12,14],"repositori":[3,5,13],"repres":[8,12],"reproduc":2,"request":[6,15],"requir":[10,11,15,16],"research":[2,4],"reserv":12,"resource_track":7,"respect":[10,15],"restart":0,"restrict":15,"result":[8,10,13,15],"return":[3,15],"rich":6,"right":[7,8,12,16],"ring":12,"rocm":12,"room":7,"root":[0,7],"row":11,"rule":10,"run":[0,2,3,4,6,7,10,11,12,13,15,16],"run_id":11,"runtim":16,"same":[7,11,12,15],"sampl":2,"save":[1,2,11,14,15],"save_to_api":[1,11,15],"save_to_fil":[11,15],"save_to_logfir":[10,11],"save_to_logg":[11,14],"save_to_prometheu":[10,11],"scale":[7,8],"scaphandr":12,"scenario":13,"schedul":[3,7,15],"scheme":4,"scientist":2,"scp":13,"script":15,"sculpt":7,"sdk":14,"seamlessli":6,"search":[2,5,10],"sec":12,"second":[0,7,10,11],"section":[0,3,15],"sector":9,"secur":12,"see":[2,3,7,10,11,12,13,14,15,16],"select":12,"self":10,"semiconductor":7,"send":[0,10,11,14,15],"sent":10,"separ":[11,12],"sequenti":3,"seri":16,"server":[1,5,7,10,11,12,13],"servic":[5,10],"set":[0,1,2,10,11,12,14,15],"setlevel":14,"sever":[12,16],"sh":13,"share":16,"shell":15,"short":[7,11],"shot":4,"should":[4,7,11],"show":[8,12,16],"shown":16,"side":[8,16],"sidebar":2,"signific":[7,9],"significantli":7,"silicon":7,"simplest":3,"sinc":[7,11,12],"singl":[4,7,15],"size":7,"skylak":12,"slot":[7,11],"small":[7,8,15],"smi":12,"so":[1,3,4,7,10,11,12,15],"socket":12,"solar":7,"solut":7,"some":[7,12,14,15],"soon":[1,15],"sophist":9,"sourc":[4,8,12],"sp0":10,"spars":12,"sparsecategoricalcrossentropi":3,"spec":12,"specif":[5,7,9,14,15],"specifi":[1,10,11,14],"split":15,"ssd":[12,13],"ssh":[0,13],"standard":[4,7,9,11],"start":[2,3,7,10,14,15],"start_task":15,"state":[9,10,11],"stdout":2,"stick":7,"still":[3,7,12,14,16],"stop":[3,7,10,14,15],"stop_task":15,"strategi":5,"stream":14,"stress":[12,13],"string":11,"structur":15,"studi":8,"stuff":7,"subclass":14,"subdomain":12,"subject":7,"subscript":4,"subset":12,"subsystem":[7,12,13],"success":4,"sudo":[0,7,11,12,13],"sudoer":7,"suffix":10,"sum":[10,12],"superus":12,"supplement":12,"suppli":[7,12],"support":[7,11,12,14,15],"suppos":12,"sure":2,"sustain":4,"switch":[7,16],"sy":[0,7,12,13],"synchron":7,"syntax":15,"sysf":0,"sysfsutil":0,"syst":12,"system":[0,2,7,10,11,12,14],"systemat":11,"systemctl":0,"systemd":0,"systemd_servic":0,"t":[3,7,12,13,15],"tab":2,"tabl":[7,8],"take":7,"takeawai":5,"taken":2,"target":[0,10],"task":[0,9,15],"tdp":[7,11,13],"team":1,"tee":0,"televis":7,"tell":1,"templat":0,"tensorflow":3,"termin":[1,6],"test":[12,15],"text":7,"tf":3,"than":[7,11,12,14],"thank":[1,12],"thei":[7,12],"them":[3,4,7,12,16],"themselv":12,"therefor":4,"thermal":7,"thi":[0,1,3,4,7,8,9,10,11,12,14,15,16],"think":3,"those":[7,16],"thousand":7,"through":[5,7,12],"thu":9,"ti":10,"time":[2,5,7,10,15,16],"timeseri":1,"timestamp":10,"tini":8,"tm":[7,10],"token":[11,15],"toml":6,"ton":7,"tool":[2,7,8,15,16],"toolkit":7,"top":16,"total":[7,10,11,12,16],"trace":0,"track":[2,3,7,9,10,11,12,14,15],"track_emiss":[1,3,5,15],"tracker":[3,7,10,11,14,15],"tracking_mod":[10,11,15],"tradit":12,"train":[1,2,3,8,9,15],"train_model":[1,3],"training_loop":15,"tran":12,"transf":8,"transit":7,"trigger":[10,14],"tripl":12,"true":[1,3,10,11,12,14,15],"try":[3,4,7,11,15],"tv":16,"two":[1,3,7,12,15],"typer":6,"typic":14,"u":[0,8,10,11],"ubiquit":9,"ubuntu":[0,7,13],"ui":2,"unbuff":7,"unchang":15,"unclear":12,"uncor":12,"under":[1,7,12,15],"underli":[7,9],"understand":[7,16],"unexpectedli":12,"unfortun":4,"unit":[0,7,11],"unless":12,"unread":12,"unregist":7,"unreli":[11,12],"up":[0,7,10,11,15],"updat":[0,11,12,13],"upload":1,"url":11,"us":[1,4,5,7,8,9,11,12,13,14,15,16],"usa":10,"usabl":[7,14],"usag":[5,11],"usb":12,"user":[0,7,11,12,15,16],"useradd":0,"usernam":7,"usr":7,"usual":10,"util":10,"uuid":15,"uv":13,"v100":8,"v2":[7,11,12],"v3":[7,11,13],"v4":16,"valid":14,"valu":[7,10,11,12,15],"var":0,"variabl":[0,11,15],"variat":7,"variou":[7,9,12,14,16],"vast":9,"ve":2,"vehicl":7,"vendor":12,"venv":0,"verbos":[0,11],"veri":[7,12],"version":[10,11,12,13,15],"via":[4,9,12],"victor":15,"view":[2,4],"virtual":0,"vision":8,"visual":[2,5],"visudo":7,"vit":8,"viz":16,"voil\u00e0":2,"vol":12,"w":[7,10,11,12,13],"wa":7,"wai":[3,15],"wait":0,"wall":12,"want":[7,11,12,15],"wantedbi":0,"warm":9,"warn":[0,11,15],"watch":16,"water":11,"watt":[7,11,12],"we":[3,4,6,7,9,12,13,15],"web":[1,15],"webhook":10,"websit":2,"week":[7,9],"weekli":16,"weight":7,"welcom":7,"well":4,"wh":7,"what":[4,7,12],"when":[2,4,7,10,11,12,15],"where":[7,10,11,15],"which":[6,7,9,11,15],"while":[6,12],"who":16,"whole":12,"wikipedia":15,"wind":7,"window":[7,10],"within":[6,12,15],"without":[7,12,15],"wonder":15,"work":[0,4,6,9,15,16],"workaround":12,"workingdirectori":0,"world":[4,5,7,13],"would":[7,8,9,12],"wrap":[12,15],"wraparound":12,"wren":4,"write":15,"written":[11,15],"wrong":12,"wue":11,"x":[7,10,11,12,13],"x86":7,"x_test":3,"x_train":3,"xeon":13,"xxx":13,"y":[10,12,13],"y_test":3,"y_train":3,"year":[5,7,9],"yet":15,"yield":15,"yml":0,"york":11,"you":[0,1,2,3,4,6,7,10,11,12,13,15,16],"your":[0,1,2,3,4,6,7,10,11,12,15,16],"your_api_kei":0,"your_experiment_id":0,"your_org_id":0,"your_project_id":0,"yourdomain":0,"yourself":7,"yourservernam":0,"z":12,"zone":11},"titles":["Advanced Installation","CodeCarbon API","Comet Integration","Examples","Frequently Asked Questions","CodeCarbon","Installing CodeCarbon","Methodology","Model Comparisons","Motivation","Output","Parameters","RAPL Metrics","Test of CodeCarbon on Scaleway hardware","Collecting emissions to a logger","Quickstart","Visualize"],"titleterms":{"":12,"15w":12,"16":12,"1950x":12,"265h":12,"28w":12,"32":12,"7":12,"7600u":12,"7th":12,"access":15,"across":7,"advanc":0,"ai":8,"amd":12,"an":14,"ansibl":0,"api":[1,10],"architectur":12,"ask":4,"authent":14,"avail":12,"behavior":12,"calcul":7,"car":7,"carbon":[7,16],"citizen":7,"cli":0,"cloud":[8,14,16],"code":7,"codecarbon":[0,1,5,6,7,10,12,13],"collect":14,"comet":2,"command":15,"comparison":[8,16],"conda":6,"configur":15,"consumpt":8,"context":[3,15],"core":12,"count":12,"countri":16,"cpu":7,"creat":14,"csv":10,"data":10,"decor":[3,15],"depend":6,"deploi":0,"desktop":12,"detail":16,"die":12,"directori":0,"doe":0,"domain":12,"doubl":12,"each":10,"electr":[8,16],"emiss":[7,14],"emissiontrack":14,"energi":7,"environ":6,"equival":[7,16],"estim":7,"exampl":[3,12,14],"experi":10,"explicit":[3,15],"field":10,"formula":7,"frequent":4,"from":[6,16],"gen":12,"get":5,"global":16,"googl":14,"gpu":7,"hardwar":[7,13],"hierarchi":12,"how":[7,10],"http":10,"i7":12,"impact":8,"indic":5,"input":11,"instal":[0,6,16],"instanc":8,"integr":2,"intel":12,"intens":[7,16],"internet":15,"introduct":5,"kabi":12,"kei":12,"lake":12,"laptop":12,"line":15,"linux":0,"local":10,"log":[5,10,14],"logfir":10,"logger":[10,14],"manag":[3,15],"measur":12,"methodologi":7,"metric":[7,12],"mode":[11,15],"model":8,"more":16,"motiv":9,"multi":12,"object":[3,15],"offlin":[11,15,16],"offlineemissionstrack":11,"onlin":[15,16],"output":[10,11],"paramet":11,"per":16,"platform":12,"playbook":0,"power":7,"prerequisit":0,"prioriti":[7,15],"product":16,"prometheu":10,"proxi":15,"pypi":6,"python":14,"question":4,"quick":0,"quickstart":15,"r":12,"ram":7,"rapl":[7,12],"real":12,"refer":[7,8],"region":[8,16],"repositori":6,"ryzen":12,"scalewai":13,"server":15,"servic":0,"sourc":7,"specif":[11,12],"start":[0,5],"strategi":12,"structur":0,"summari":16,"tabl":5,"takeawai":12,"tdp":12,"test":[10,13],"thread":12,"threadripp":12,"through":15,"time":8,"tm":12,"track_emiss":11,"tv":7,"u":7,"ultra":12,"us":[0,3,6,10],"usag":[7,16],"visual":16,"weekli":7,"what":0,"work":7,"world":12,"year":8}}) \ No newline at end of file diff --git a/docs/usage.html b/docs/usage.html index c71341ead..f773ac324 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -135,6 +135,11 @@

    Command lineCtrl+C.

    +

    If you want to detect the hardware of your computer without starting any measurement, you can use:

    +
    codecarbon detect
    +
    +
    +

    It will print the detected RAM, CPU and GPU information.

    In the following example you will see how to use the CLI to monitor all the emissions of you computer and sending everything to an API running on “localhost:8008” (Or you can start a private local API with “docker-compose up”). Using the public API with this is not supported yet (coming soon!)

    diff --git a/examples/print_hardware.py b/examples/print_hardware.py new file mode 100644 index 000000000..fd6e6a9dd --- /dev/null +++ b/examples/print_hardware.py @@ -0,0 +1,21 @@ +from codecarbon.emissions_tracker import EmissionsTracker + +if __name__ == "__main__": + tracker = EmissionsTracker(measure_power_secs=0, save_to_file=False) + + print("Detected Hardware:") + hardware_info = tracker.get_detected_hardware() + + print(f"- Available RAM: {hardware_info['ram_total_size']:.3f} GB") + print( + f"- CPU count: {hardware_info['cpu_count']} thread(s) in {hardware_info['cpu_physical_count']} physical CPU(s)" + ) + print(f"- CPU model: {hardware_info['cpu_model']}") + print(f"- GPU count: {hardware_info['gpu_count']}") + + gpu_model_str = hardware_info["gpu_model"] + if hardware_info.get("gpu_ids"): + gpu_model_str += ( + f" BUT only tracking these GPU ids : {hardware_info['gpu_ids']}" + ) + print(f"- GPU model: {gpu_model_str}") diff --git a/tests/test_emissions_tracker.py b/tests/test_emissions_tracker.py index b330fc77a..0002865ff 100644 --- a/tests/test_emissions_tracker.py +++ b/tests/test_emissions_tracker.py @@ -637,3 +637,22 @@ def test_scheduler_warning_shown_when_running( self.assertTrue( scheduler_warning_found, "Expected scheduler warning was not found" ) + + def test_get_detected_hardware( + self, + mock_cli_setup, + mock_log_values, + mocked_get_gpu_details, + mocked_env_cloud_details, + mocked_is_gpu_details_available, + ): + tracker = EmissionsTracker(save_to_file=False) + hardware_info = tracker.get_detected_hardware() + self.assertIsInstance(hardware_info, dict) + self.assertIn("ram_total_size", hardware_info) + self.assertIn("cpu_count", hardware_info) + self.assertIn("cpu_physical_count", hardware_info) + self.assertIn("cpu_model", hardware_info) + self.assertIn("gpu_count", hardware_info) + self.assertIn("gpu_model", hardware_info) + self.assertIn("gpu_ids", hardware_info)