duoops 0.1.9 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +151 -63
- package/data/aws_machine_power_profiles.json +54 -0
- package/data/cpu_physical_specs.json +105 -0
- package/data/cpu_power_profiles.json +275 -0
- package/data/gcp_machine_power_profiles.json +1802 -0
- package/data/runtime-pue-mappings.json +183 -0
- package/dist/commands/autofix-ci.d.ts +13 -0
- package/dist/commands/autofix-ci.js +114 -0
- package/dist/commands/autofix.d.ts +5 -0
- package/dist/commands/autofix.js +11 -0
- package/dist/commands/init.js +104 -33
- package/dist/commands/mcp/deploy.d.ts +13 -0
- package/dist/commands/mcp/deploy.js +139 -0
- package/dist/commands/measure/calculate.js +2 -2
- package/dist/commands/portal.js +421 -6
- package/dist/lib/ai/agent.js +1 -0
- package/dist/lib/ai/tools/editing.js +28 -13
- package/dist/lib/ai/tools/gitlab.js +8 -4
- package/dist/lib/config.d.ts +10 -0
- package/dist/lib/gcloud.d.ts +7 -0
- package/dist/lib/gcloud.js +105 -0
- package/dist/lib/gitlab/pipelines-service.d.ts +23 -0
- package/dist/lib/gitlab/pipelines-service.js +146 -0
- package/dist/lib/gitlab/runner-service.d.ts +11 -0
- package/dist/lib/gitlab/runner-service.js +15 -0
- package/dist/lib/portal/settings.d.ts +3 -0
- package/dist/lib/portal/settings.js +48 -0
- package/dist/lib/scaffold.d.ts +5 -0
- package/dist/lib/scaffold.js +32 -0
- package/dist/portal/assets/HomeDashboard-DlkwSyKx.js +1 -0
- package/dist/portal/assets/JobDetailsDrawer-7kXXMSH8.js +1 -0
- package/dist/portal/assets/JobsDashboard-D4pNc9TM.js +1 -0
- package/dist/portal/assets/MetricsDashboard-BcgzvzBz.js +1 -0
- package/dist/portal/assets/PipelinesDashboard-BNrSM9GB.js +1 -0
- package/dist/portal/assets/allPaths-CXDKahbk.js +1 -0
- package/dist/portal/assets/allPathsLoader-BF5PAx2c.js +2 -0
- package/dist/portal/assets/cache-YerT0Slh.js +6 -0
- package/dist/portal/assets/core-Cz8f3oSB.js +19 -0
- package/dist/portal/assets/{index-C54ZhVUo.js → index-B9sNUqEC.js} +1 -1
- package/dist/portal/assets/index-BWa_E8Y7.css +1 -0
- package/dist/portal/assets/index-Bp4RqK05.js +1 -0
- package/dist/portal/assets/index-DW6Qp0d6.js +64 -0
- package/dist/portal/assets/index-Uc4Xhv31.js +1 -0
- package/dist/portal/assets/progressBar-C4SmnGeZ.js +1 -0
- package/dist/portal/assets/splitPathsBySizeLoader-C-T9_API.js +1 -0
- package/dist/portal/index.html +2 -2
- package/oclif.manifest.json +147 -2
- package/package.json +2 -1
- package/templates/.gitlab/duo/flows/duoops.yaml +114 -0
- package/templates/agents/agent.yml +45 -0
- package/templates/duoops-autofix-component.yml +52 -0
- package/templates/flows/flow.yml +283 -0
- package/dist/portal/assets/MetricsDashboard-Bnj-jtu6.js +0 -27
- package/dist/portal/assets/index-B1SGDQNX.css +0 -1
- package/dist/portal/assets/index-Bk8OVV7a.js +0 -106
package/README.md
CHANGED
|
@@ -1,35 +1,50 @@
|
|
|
1
1
|
# DuoOps
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **Sustainable and Explainable CI/CD for GitLab — powered by AI.**
|
|
4
4
|
|
|
5
|
-
DuoOps
|
|
5
|
+
DuoOps helps developers understand, debug, and reduce the environmental impact of their GitLab CI/CD pipelines. It combines AI-powered troubleshooting with carbon footprint measurement, giving teams actionable insights to build greener software.
|
|
6
6
|
|
|
7
7
|

|
|
8
|
-

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<img src="hackathon-files/deliverables.png" alt="DuoOps Deliverables — CI Component, MCP Server, CLI Tool" width="700" />
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
| Deliverable | Description |
|
|
17
|
+
| :--- | :--- |
|
|
18
|
+
| **CI Component** | Drop-in GitLab CI component that measures carbon emissions per job using CPU/RAM timeseries, then persists results to BigQuery. |
|
|
19
|
+
| **MCP Server** | Model Context Protocol server that exposes emissions data to AI agents (GitLab Duo Chat, Claude, etc.) via standardized tools. |
|
|
20
|
+
| **CLI Tool** | Local command-line interface for pipeline inspection, AI-powered troubleshooting, carbon measurement, and launching the web portal. |
|
|
21
|
+
|
|
22
|
+
---
|
|
9
23
|
|
|
10
24
|
## 🌟 Key Features
|
|
11
25
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
26
|
+
- **🤖 AI-Powered Troubleshooting** — Ask questions about your pipelines in plain English. The AI agent (GitLab Duo or Vertex AI) analyzes logs, identifies root causes, and suggests fixes.
|
|
27
|
+
- **🌱 Carbon Measurement** — Calculate CO₂ emissions of CI jobs based on CPU/RAM usage timeseries. Track your environmental impact over time.
|
|
28
|
+
- **🔌 MCP Integration** — Connect DuoOps to GitLab Duo Chat so your AI assistant can query emissions data directly.
|
|
29
|
+
- **📊 Web Portal** — A local React dashboard (built with [Palantir Blueprint.js](https://blueprintjs.com/)) to visualize metrics, manage budgets, and chat with the AI assistant.
|
|
30
|
+
- **🔍 Deep Pipeline Inspection** — View pipeline status, job details, and logs from your terminal.
|
|
31
|
+
- **🧠 Intelligent Summarization** — Automatically summarizes long job logs using sub-agents for concise failure analysis.
|
|
32
|
+
|
|
33
|
+
---
|
|
17
34
|
|
|
18
35
|
## 🚀 Quick Start
|
|
19
36
|
|
|
20
37
|
### Prerequisites
|
|
21
38
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
* Install the `gcloud` CLI.
|
|
26
|
-
* Authenticate: `gcloud auth application-default login`
|
|
39
|
+
- **Node.js** >= 18.0.0
|
|
40
|
+
- **GitLab Account** with a Personal Access Token (`api` scope)
|
|
41
|
+
- *(Optional)* **Google Cloud SDK** — for BigQuery metrics and MCP server deployment
|
|
27
42
|
|
|
28
43
|
### Installation
|
|
29
44
|
|
|
30
45
|
```bash
|
|
31
46
|
# Clone the repository
|
|
32
|
-
git clone https://
|
|
47
|
+
git clone https://gitlab.com/youneslaaroussi/duoops.git
|
|
33
48
|
cd duoops
|
|
34
49
|
|
|
35
50
|
# Install dependencies
|
|
@@ -44,59 +59,48 @@ npm link
|
|
|
44
59
|
|
|
45
60
|
### Configuration
|
|
46
61
|
|
|
47
|
-
Run the interactive
|
|
62
|
+
Run the interactive setup:
|
|
48
63
|
|
|
49
64
|
```bash
|
|
50
65
|
duoops init
|
|
51
66
|
```
|
|
52
67
|
|
|
53
|
-
This
|
|
54
|
-
* GitLab URL (default: `https://gitlab.com`)
|
|
55
|
-
* GitLab Personal Access Token
|
|
56
|
-
* (Optional) BigQuery settings for sustainability tracking
|
|
68
|
+
This prompts you for your GitLab URL, Personal Access Token, and optional BigQuery settings.
|
|
57
69
|
|
|
58
|
-
|
|
70
|
+
Or use environment variables:
|
|
59
71
|
|
|
60
72
|
| Variable | Description |
|
|
61
73
|
| :--- | :--- |
|
|
62
|
-
| `GITLAB_TOKEN` |
|
|
74
|
+
| `GITLAB_TOKEN` | GitLab Personal Access Token |
|
|
63
75
|
| `GITLAB_URL` | GitLab instance URL (default: `https://gitlab.com`) |
|
|
64
|
-
| `DUOOPS_AI_PROVIDER` | AI
|
|
65
|
-
| `GCP_PROJECT_ID` | Google Cloud Project ID (
|
|
66
|
-
| `GCP_LOCATION` | Google Cloud
|
|
76
|
+
| `DUOOPS_AI_PROVIDER` | AI provider: `gitlab` (default) or `vertex` |
|
|
77
|
+
| `GCP_PROJECT_ID` | Google Cloud Project ID (for Vertex AI / BigQuery) |
|
|
78
|
+
| `GCP_LOCATION` | Google Cloud location (default: `us-central1`) |
|
|
67
79
|
|
|
68
|
-
|
|
80
|
+
---
|
|
69
81
|
|
|
70
|
-
|
|
82
|
+
## 📖 Usage
|
|
71
83
|
|
|
72
|
-
|
|
84
|
+
### Inspect Pipelines
|
|
73
85
|
|
|
74
86
|
```bash
|
|
75
87
|
duoops pipelines list <project-id-or-path>
|
|
76
|
-
# Example: duoops pipelines list my-group/my-project
|
|
77
88
|
```
|
|
78
89
|
|
|
79
|
-
###
|
|
80
|
-
|
|
81
|
-
Get details and logs for a specific job:
|
|
90
|
+
### Analyze Jobs & Logs
|
|
82
91
|
|
|
83
92
|
```bash
|
|
84
93
|
duoops job show <project-id> <job-id>
|
|
85
|
-
# Example: duoops job show 12345 987654
|
|
86
94
|
```
|
|
87
95
|
|
|
88
|
-
###
|
|
89
|
-
|
|
90
|
-
Troubleshoot failures or ask general CI questions:
|
|
96
|
+
### Ask the AI Agent
|
|
91
97
|
|
|
92
98
|
```bash
|
|
93
99
|
duoops ask "Why did the last pipeline fail?"
|
|
94
100
|
duoops ask "How do I optimize my .gitlab-ci.yml for faster builds?"
|
|
95
101
|
```
|
|
96
102
|
|
|
97
|
-
###
|
|
98
|
-
|
|
99
|
-
Calculate emissions for a job using CPU/RAM usage data (JSON timeseries):
|
|
103
|
+
### Measure Carbon Footprint
|
|
100
104
|
|
|
101
105
|
```bash
|
|
102
106
|
duoops measure calculate \
|
|
@@ -108,54 +112,138 @@ duoops measure calculate \
|
|
|
108
112
|
--out-md report.md
|
|
109
113
|
```
|
|
110
114
|
|
|
111
|
-
|
|
115
|
+
### Get AI Recommendations on Emissions
|
|
112
116
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
| :--- | :--- |
|
|
117
|
-
| `DUOOPS_BQ_DATASET` | BigQuery dataset name |
|
|
118
|
-
| `DUOOPS_BQ_TABLE` | BigQuery table name |
|
|
119
|
-
| `GCP_PROJECT_ID` | Google Cloud project ID |
|
|
117
|
+
```bash
|
|
118
|
+
duoops act [project-id] [--limit N]
|
|
119
|
+
```
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Fetches recent carbon metrics from BigQuery and gets the agent's recommendations for reducing emissions.
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
### Launch the Web Portal
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
```bash
|
|
126
|
+
duoops portal
|
|
127
|
+
```
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
Opens a local dashboard at `http://localhost:58327` for visualizing metrics and chatting with the AI assistant.
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
For a guided fix workflow:
|
|
130
132
|
|
|
131
133
|
```bash
|
|
132
|
-
duoops
|
|
134
|
+
duoops autofix
|
|
133
135
|
```
|
|
134
136
|
|
|
135
|
-
|
|
137
|
+
This launches the portal, switches to the console tab, and preloads a request asking the agent to inspect the latest pipeline failure.
|
|
138
|
+
|
|
139
|
+
---
|
|
136
140
|
|
|
137
|
-
##
|
|
141
|
+
## 🔌 MCP Server
|
|
138
142
|
|
|
139
|
-
|
|
143
|
+
The MCP server exposes DuoOps emissions data to AI agents via the [Model Context Protocol](https://modelcontextprotocol.io).
|
|
140
144
|
|
|
141
|
-
|
|
142
|
-
* `src/commands/`: Oclif command implementations.
|
|
143
|
-
* `src/lib/`: Core logic (AI agents, GitLab client, Measurement tools).
|
|
144
|
-
* `portal/`: React frontend application.
|
|
145
|
+
### Tools
|
|
145
146
|
|
|
146
|
-
|
|
147
|
+
| Tool | Description |
|
|
148
|
+
| :--- | :--- |
|
|
149
|
+
| `get_job_emissions` | Retrieve emissions for a specific CI job |
|
|
150
|
+
| `get_pipeline_emissions` | Aggregated emissions for a pipeline |
|
|
151
|
+
| `get_project_emissions_summary` | Emissions trends for a project |
|
|
152
|
+
| `get_machine_profile` | Specs and power data for cloud instances |
|
|
153
|
+
| `get_region_carbon_intensity` | Grid carbon intensity for a region |
|
|
154
|
+
|
|
155
|
+
### Deployment
|
|
147
156
|
|
|
148
157
|
```bash
|
|
149
|
-
|
|
158
|
+
# Using the CLI (recommended)
|
|
159
|
+
duoops mcp deploy --gcp-project <PROJECT_ID> --region us-central1
|
|
160
|
+
|
|
161
|
+
# Or manually with gcloud
|
|
162
|
+
gcloud run deploy duoops-mcp \
|
|
163
|
+
--image registry.gitlab.com/youneslaaroussi/duoops/mcp-server:latest \
|
|
164
|
+
--set-env-vars "GCP_PROJECT_ID=<ID>,BQ_DATASET=<DATASET>,BQ_TABLE=<TABLE>" \
|
|
165
|
+
--allow-unauthenticated \
|
|
166
|
+
--region us-central1
|
|
150
167
|
```
|
|
151
168
|
|
|
152
|
-
###
|
|
169
|
+
### GitLab Duo Chat Integration
|
|
170
|
+
|
|
171
|
+
Add to your project's `.gitlab/duo/mcp.json`:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"mcpServers": {
|
|
176
|
+
"duoops-carbon": {
|
|
177
|
+
"type": "http",
|
|
178
|
+
"url": "https://<your-cloud-run-url>/mcp",
|
|
179
|
+
"approvedTools": true
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 🔧 CI Component
|
|
188
|
+
|
|
189
|
+
Include the measurement component in your `.gitlab-ci.yml`:
|
|
190
|
+
|
|
191
|
+
```yaml
|
|
192
|
+
include:
|
|
193
|
+
- component: gitlab.com/youneslaaroussi/duoops/duoops-measure-component@main
|
|
194
|
+
inputs:
|
|
195
|
+
provider: gcp
|
|
196
|
+
machine: e2-standard-4
|
|
197
|
+
region: us-central1
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
CI/CD variables for BigQuery persistence:
|
|
201
|
+
|
|
202
|
+
| Variable | Description |
|
|
203
|
+
| :--- | :--- |
|
|
204
|
+
| `DUOOPS_BQ_DATASET` | BigQuery dataset name |
|
|
205
|
+
| `DUOOPS_BQ_TABLE` | BigQuery table name |
|
|
206
|
+
| `GCP_PROJECT_ID` | Google Cloud project ID |
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🏗️ Architecture
|
|
211
|
+
|
|
212
|
+
<p align="center">
|
|
213
|
+
<img src="hackathon-files/architecture.png" alt="DuoOps Architecture — Interfaces, AI Core, Data" width="700" />
|
|
214
|
+
</p>
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 🛠️ Project Structure
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
duoops/
|
|
222
|
+
├── bin/ # CLI entry point
|
|
223
|
+
├── src/ # CLI commands and core logic
|
|
224
|
+
│ ├── commands/ # Oclif command implementations
|
|
225
|
+
│ └── lib/ # AI agents, GitLab client, measurement
|
|
226
|
+
├── mcp-server/ # MCP server (standalone, deployable)
|
|
227
|
+
├── portal/ # React web dashboard (Blueprint.js)
|
|
228
|
+
├── templates/ # GitLab CI component templates
|
|
229
|
+
├── data/ # Sample data and fixtures
|
|
230
|
+
└── test/ # Test suite
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Development
|
|
153
234
|
|
|
154
235
|
```bash
|
|
236
|
+
# Run tests
|
|
237
|
+
pnpm test
|
|
238
|
+
|
|
239
|
+
# Build everything
|
|
155
240
|
pnpm build
|
|
241
|
+
|
|
242
|
+
# Run the portal in dev mode
|
|
243
|
+
cd portal && pnpm dev
|
|
156
244
|
```
|
|
157
245
|
|
|
158
|
-
|
|
246
|
+
---
|
|
159
247
|
|
|
160
248
|
## 📄 License
|
|
161
249
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"m5.large": {
|
|
3
|
+
"vcpus": 2,
|
|
4
|
+
"memory_gb": 8,
|
|
5
|
+
"platform_cpu": "Intel Xeon Platinum 8175",
|
|
6
|
+
"matched_cpu_profile": "Intel Xeon Platinum 8175",
|
|
7
|
+
"cpu_power_profile": [
|
|
8
|
+
{ "percentage": 0, "watts": 11.5 },
|
|
9
|
+
{ "percentage": 10, "watts": 23.0 },
|
|
10
|
+
{ "percentage": 50, "watts": 82.0 },
|
|
11
|
+
{ "percentage": 100, "watts": 150.0 }
|
|
12
|
+
],
|
|
13
|
+
"scope3_emissions_hourly": 18
|
|
14
|
+
},
|
|
15
|
+
"c5.xlarge": {
|
|
16
|
+
"vcpus": 4,
|
|
17
|
+
"memory_gb": 8,
|
|
18
|
+
"platform_cpu": "Intel Xeon Platinum 8275",
|
|
19
|
+
"matched_cpu_profile": "Intel Xeon Platinum 8275",
|
|
20
|
+
"cpu_power_profile": [
|
|
21
|
+
{ "percentage": 0, "watts": 14.0 },
|
|
22
|
+
{ "percentage": 10, "watts": 33.0 },
|
|
23
|
+
{ "percentage": 50, "watts": 115.0 },
|
|
24
|
+
{ "percentage": 100, "watts": 195.0 }
|
|
25
|
+
],
|
|
26
|
+
"scope3_emissions_hourly": 22
|
|
27
|
+
},
|
|
28
|
+
"m6g.large": {
|
|
29
|
+
"vcpus": 2,
|
|
30
|
+
"memory_gb": 8,
|
|
31
|
+
"platform_cpu": "AWS Graviton2",
|
|
32
|
+
"matched_cpu_profile": "AWS Graviton2",
|
|
33
|
+
"cpu_power_profile": [
|
|
34
|
+
{ "percentage": 0, "watts": 8.0 },
|
|
35
|
+
{ "percentage": 10, "watts": 16.0 },
|
|
36
|
+
{ "percentage": 50, "watts": 55.0 },
|
|
37
|
+
{ "percentage": 100, "watts": 95.0 }
|
|
38
|
+
],
|
|
39
|
+
"scope3_emissions_hourly": 15
|
|
40
|
+
},
|
|
41
|
+
"r6i.2xlarge": {
|
|
42
|
+
"vcpus": 8,
|
|
43
|
+
"memory_gb": 64,
|
|
44
|
+
"platform_cpu": "Intel Xeon Ice Lake",
|
|
45
|
+
"matched_cpu_profile": "Intel Xeon Ice Lake",
|
|
46
|
+
"cpu_power_profile": [
|
|
47
|
+
{ "percentage": 0, "watts": 26.0 },
|
|
48
|
+
{ "percentage": 10, "watts": 52.0 },
|
|
49
|
+
{ "percentage": 50, "watts": 200.0 },
|
|
50
|
+
{ "percentage": 100, "watts": 360.0 }
|
|
51
|
+
],
|
|
52
|
+
"scope3_emissions_hourly": 42
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_metadata": {
|
|
3
|
+
"description": "Physical CPU specifications with vCPU counts for accurate power-per-vCPU calculations",
|
|
4
|
+
"last_updated": "2025-01-22",
|
|
5
|
+
"methodology": "Power per VM vCPU = (TDP / physical_vcpus) * vm_vcpus * utilization_ratio"
|
|
6
|
+
},
|
|
7
|
+
"Intel Xeon Gold 6268CL": {
|
|
8
|
+
"cores": 24,
|
|
9
|
+
"threads": 48,
|
|
10
|
+
"tdp_watts": 205,
|
|
11
|
+
"architecture": "Cascade Lake",
|
|
12
|
+
"source": "https://www.ebay.com/p/2321792675",
|
|
13
|
+
"source_name": "eBay Product Listing (SRF80)"
|
|
14
|
+
},
|
|
15
|
+
"Intel Xeon Gold 6253CL": {
|
|
16
|
+
"cores": 18,
|
|
17
|
+
"threads": 36,
|
|
18
|
+
"tdp_watts": 205,
|
|
19
|
+
"architecture": "Cascade Lake",
|
|
20
|
+
"source": "https://www.cpubenchmark.net/cpu.php?cpu=Intel+Xeon+Gold+6253CL+@+3.10GHz&id=4539",
|
|
21
|
+
"source_name": "PassMark CPU Benchmark"
|
|
22
|
+
},
|
|
23
|
+
"Intel Xeon Platinum 8481C": {
|
|
24
|
+
"cores": 56,
|
|
25
|
+
"threads": 112,
|
|
26
|
+
"tdp_watts": 350,
|
|
27
|
+
"architecture": "Sapphire Rapids",
|
|
28
|
+
"source": "https://www.techpowerup.com/cpu-specs/xeon-platinum-8481c.c3992",
|
|
29
|
+
"source_name": "TechPowerUp CPU Database"
|
|
30
|
+
},
|
|
31
|
+
"Intel Xeon Platinum 8373C": {
|
|
32
|
+
"cores": 36,
|
|
33
|
+
"threads": 72,
|
|
34
|
+
"tdp_watts": 300,
|
|
35
|
+
"architecture": "Ice Lake",
|
|
36
|
+
"source": "https://en.wikipedia.org/wiki/List_of_Intel_Xeon_processors_(Ice_Lake-based)",
|
|
37
|
+
"source_name": "Wikipedia - Intel Xeon Ice Lake"
|
|
38
|
+
},
|
|
39
|
+
"Intel Xeon Platinum 8280L": {
|
|
40
|
+
"cores": 28,
|
|
41
|
+
"threads": 56,
|
|
42
|
+
"tdp_watts": 205,
|
|
43
|
+
"architecture": "Cascade Lake",
|
|
44
|
+
"source": "https://ark.intel.com/content/www/us/en/ark/products/192472/intel-xeon-platinum-8280l-processor-38-5m-cache-2-70-ghz.html",
|
|
45
|
+
"source_name": "Intel ARK"
|
|
46
|
+
},
|
|
47
|
+
"Intel Xeon Platinum 8273CL": {
|
|
48
|
+
"cores": 28,
|
|
49
|
+
"threads": 56,
|
|
50
|
+
"tdp_watts": 165,
|
|
51
|
+
"architecture": "Cascade Lake",
|
|
52
|
+
"source": "https://en.wikipedia.org/wiki/List_of_Intel_Xeon_processors_(Cascade_Lake-based)",
|
|
53
|
+
"source_name": "Wikipedia - Intel Xeon Cascade Lake"
|
|
54
|
+
},
|
|
55
|
+
"Intel Xeon Scalable Platinum 8173M": {
|
|
56
|
+
"cores": 28,
|
|
57
|
+
"threads": 56,
|
|
58
|
+
"tdp_watts": 165,
|
|
59
|
+
"architecture": "Skylake",
|
|
60
|
+
"source": "https://en.wikipedia.org/wiki/List_of_Intel_Xeon_processors#702Skylake-based_703Xeon_Scalable",
|
|
61
|
+
"source_name": "Wikipedia - Intel Xeon Skylake"
|
|
62
|
+
},
|
|
63
|
+
"Intel Skylake": {
|
|
64
|
+
"cores": 28,
|
|
65
|
+
"threads": 56,
|
|
66
|
+
"tdp_watts": 150,
|
|
67
|
+
"architecture": "Skylake",
|
|
68
|
+
"source": "https://cloud.google.com/compute/docs/cpu-platforms",
|
|
69
|
+
"source_name": "Google Cloud CPU Platforms",
|
|
70
|
+
"note": "Generic Skylake profile for e2 instances, estimated from typical Skylake server CPUs"
|
|
71
|
+
},
|
|
72
|
+
"Intel Xeon E7-8880V4": {
|
|
73
|
+
"cores": 22,
|
|
74
|
+
"threads": 44,
|
|
75
|
+
"tdp_watts": 150,
|
|
76
|
+
"architecture": "Broadwell",
|
|
77
|
+
"source": "https://www.intel.com/content/www/us/en/products/sku/93792/intel-xeon-processor-e78880-v4-55m-cache-2-20-ghz/specifications.html",
|
|
78
|
+
"source_name": "Intel ARK"
|
|
79
|
+
},
|
|
80
|
+
"AMD EPYC 7B12": {
|
|
81
|
+
"cores": 64,
|
|
82
|
+
"threads": 128,
|
|
83
|
+
"tdp_watts": 240,
|
|
84
|
+
"architecture": "Rome (Zen 2)",
|
|
85
|
+
"source": "https://www.newegg.com/p/1FR-00G6-00026",
|
|
86
|
+
"source_name": "Newegg Product Listing"
|
|
87
|
+
},
|
|
88
|
+
"AMD EPYC 7B13": {
|
|
89
|
+
"cores": 64,
|
|
90
|
+
"threads": 128,
|
|
91
|
+
"tdp_watts": 225,
|
|
92
|
+
"architecture": "Milan (Zen 3)",
|
|
93
|
+
"source": "https://www.amd.com/en/products/cpu/amd-epyc-7b13",
|
|
94
|
+
"source_name": "AMD Product Page"
|
|
95
|
+
},
|
|
96
|
+
"Q64-30": {
|
|
97
|
+
"cores": 64,
|
|
98
|
+
"threads": 64,
|
|
99
|
+
"tdp_watts": 180,
|
|
100
|
+
"architecture": "ARM Neoverse N1",
|
|
101
|
+
"source": "https://amperecomputing.com/en/briefs/ampere-altra-family-product-brief",
|
|
102
|
+
"source_name": "Ampere Altra Family Product Brief",
|
|
103
|
+
"note": "ARM cores have no hyperthreading, threads = cores"
|
|
104
|
+
}
|
|
105
|
+
}
|