UNPKG

@huggingface/tasks

Version:
633 lines (626 loc) 13.4 kB
import { AMD_GPU_SKUS } from "./hardware-amd.js"; import { NVIDIA_SKUS } from "./hardware-nvidia.js"; /** * Biden AI Executive Order (since revoked by President Trump): * https://web.archive.org/web/20250105222429/https://www.whitehouse.gov/briefing-room/presidential-actions/2023/10/30/executive-order-on-the-safe-secure-and-trustworthy-development-and-use-of-artificial-intelligence/ */ export const TFLOPS_THRESHOLD_WHITE_HOUSE_MODEL_TRAINING_TOTAL = 10 ** 14; export const TFLOPS_THRESHOLD_WHITE_HOUSE_MODEL_TRAINING_TOTAL_BIOLOGY = 10 ** 11; export const TFLOPS_THRESHOLD_WHITE_HOUSE_CLUSTER = 10 ** 8; /** * EU AI Act * https://ec.europa.eu/commission/presscorner/detail/en/qanda_21_1683 */ export const TFLOPS_THRESHOLD_EU_AI_ACT_MODEL_TRAINING_TOTAL = 10 ** 13; export interface HardwareSpec { /** * Approximate value, in FP16 whenever possible for GPUs and FP32 for CPUs. * This is only approximate/theoretical and shouldn't be taken too seriously. * Currently the CPU values are from cpu-monkey.com * while the GPU values are from techpowerup.com * * Note to reviewers: I got fed up with data entry, * and HuggingChat running Llama3 with Web search was failing a bit, * so some of those values might be slightly inaccurate. Forgive me and please feel free to improve. */ tflops: number; /** * If an array is specified, options of memory size (can be VRAM, unified RAM) * e.g. an A100 exists in 40 or 80 GB. */ memory?: number[]; /** * Approximate MSRP in USD at launch. For SKUs with multiple memory variants, * the price corresponds to the largest memory variant. For datacenter GPUs * sold via OEMs without a public MSRP (H100, MI300X, ...), this is a * widely-reported street price. For mobile/laptop GPUs that are not sold * standalone, this is the approximate module/BOM cost. For Apple Silicon * SoCs, this is the price of a Mac configured with that chip and the * largest memory option. For CPU "family" entries (e.g. "Xeon 4th Gen", * "Ryzen Zen 4 7000 (Ryzen 9)"), this is the tray/box price of a * representative flagship SKU at launch. */ msrp: number; /** * Approximate maximum sustained power draw in watts. For GPUs with multiple * form factors (e.g. H100 SXM vs PCIe), uses the highest variant. For CPUs, * uses max turbo power (PL2 / MTP for Intel, PPT for AMD), not base TDP. * For Apple Silicon and Snapdragon SoCs, an estimated package power based * on benchmarks/teardowns (Apple does not publish TDP). */ power: number; /** * Year the SKU first became available. For SKUs refreshed later with * additional memory variants (e.g. A100 40GB 80GB, RTX 2060 12GB), * this is the original launch year. For CPU "family" entries, this is * the year the family debuted. */ releaseYear: number; } export const DEFAULT_MEMORY_OPTIONS = [ 8, 16, 24, 32, 40, 48, 64, 80, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, ]; export const SKUS = { GPU: { NVIDIA: NVIDIA_SKUS, AMD: AMD_GPU_SKUS, INTEL: { "Arc A380": { tflops: 8.4, memory: [6], msrp: 139, power: 75, releaseYear: 2022, }, "Arc A750": { tflops: 34.41, memory: [8], msrp: 250, power: 225, releaseYear: 2022, }, "Arc A770": { tflops: 39.32, memory: [8, 16], msrp: 350, power: 225, releaseYear: 2022, }, "Arc B570": { tflops: 23.04, memory: [10], msrp: 200, power: 150, releaseYear: 2025, }, "Arc B580": { tflops: 27.34, memory: [12], msrp: 250, power: 190, releaseYear: 2024, }, "Arc B50": { tflops: 21.3, memory: [16], msrp: 350, power: 70, releaseYear: 2025, }, "Arc B60": { tflops: 24.58, memory: [24, 48], msrp: 1_200, power: 200, releaseYear: 2025, }, "Arc Pro B70": { tflops: 45.88, memory: [32], msrp: 949, power: 230, releaseYear: 2026, }, }, QUALCOMM: { "Snapdragon X Elite X1E-00-1DE": { tflops: 4.6, msrp: 900, power: 80, releaseYear: 2024, }, "Snapdragon X Elite X1E-84-100": { tflops: 4.6, msrp: 1_700, power: 30, releaseYear: 2024, }, "Snapdragon X Elite X1E-80-100": { tflops: 3.8, msrp: 1_300, power: 23, releaseYear: 2024, }, "Snapdragon X Elite X1E-78-100": { tflops: 3.8, msrp: 1_200, power: 23, releaseYear: 2024, }, "Snapdragon X Plus X1P-64-100": { tflops: 3.8, msrp: 1_000, power: 23, releaseYear: 2024, }, }, }, CPU: { Intel: { "Xeon 4th Generation (Sapphire Rapids)": { tflops: 1.3, msrp: 10_500, power: 350, releaseYear: 2023, }, "Xeon 3th Generation (Ice Lake)": { tflops: 0.8, msrp: 8_000, power: 270, releaseYear: 2021, }, "Xeon 2th Generation (Cascade Lake)": { tflops: 0.55, msrp: 10_000, power: 205, releaseYear: 2019, }, "Xeon E5v4 (Broadwell)": { tflops: 0.25, msrp: 4_000, power: 145, releaseYear: 2016, }, "Xeon E5v3 (Haswell)": { tflops: 0.2, msrp: 4_000, power: 145, releaseYear: 2014, }, "Xeon E5v2 (Ivy Bridge)": { tflops: 0.15, msrp: 2_500, power: 130, releaseYear: 2013, }, "Intel Core Ultra 9 275HX": { tflops: 1.89, msrp: 700, power: 160, releaseYear: 2025, }, "Intel Core Ultra 7 255HX": { tflops: 1.62, msrp: 583, power: 160, releaseYear: 2025, }, "Intel Core Ultra 7 265KF": { tflops: 1.53, msrp: 400, power: 250, releaseYear: 2024, }, "Intel Core 14th Generation (i7)": { tflops: 0.8, msrp: 400, power: 253, releaseYear: 2023, }, "Intel Core 13th Generation (i9)": { tflops: 0.85, msrp: 600, power: 253, releaseYear: 2022, }, "Intel Core 13th Generation (i7)": { tflops: 0.82, msrp: 400, power: 253, releaseYear: 2022, }, "Intel Core 13th Generation (i5)": { tflops: 0.68, msrp: 300, power: 181, releaseYear: 2022, }, "Intel Core 13th Generation (i3)": { tflops: 0.57, msrp: 150, power: 89, releaseYear: 2023, }, "Intel Core 12th Generation (i9)": { tflops: 0.79, msrp: 600, power: 241, releaseYear: 2021, }, "Intel Core 12th Generation (i7)": { tflops: 0.77, msrp: 400, power: 190, releaseYear: 2021, }, "Intel Core 12th Generation (i5)": { tflops: 0.65, msrp: 300, power: 150, releaseYear: 2021, }, "Intel Core 12th Generation (i3)": { tflops: 0.53, msrp: 150, power: 89, releaseYear: 2022, }, "Intel Core 11th Generation (i9)": { tflops: 0.7, msrp: 550, power: 251, releaseYear: 2021, }, "Intel Core 11th Generation (i7)": { tflops: 0.6, msrp: 400, power: 251, releaseYear: 2021, }, "Intel Core 11th Generation (i5)": { tflops: 0.5, msrp: 250, power: 251, releaseYear: 2021, }, "Intel Core 11th Generation (i3)": { tflops: 0.35, msrp: 150, power: 90, releaseYear: 2021, }, "Intel Core 10th Generation (i9)": { tflops: 0.46, msrp: 500, power: 250, releaseYear: 2020, }, "Intel Core 10th Generation (i7)": { tflops: 0.46, msrp: 400, power: 215, releaseYear: 2020, }, "Intel Core 10th Generation (i5)": { tflops: 0.46, msrp: 250, power: 182, releaseYear: 2020, }, "Intel Core 10th Generation (i3)": { tflops: 0.44, msrp: 150, power: 90, releaseYear: 2020, }, }, AMD: { "EPYC 5th Generation Zen 5 (Turin)": { tflops: 13.8, msrp: 13_000, power: 500, releaseYear: 2024, }, "EPYC 4th Generation Zen 4 (Genoa)": { tflops: 5, msrp: 11_500, power: 360, releaseYear: 2022, }, "EPYC 3th Generation Zen 3 (Milan)": { tflops: 2.4, msrp: 8_000, power: 280, releaseYear: 2021, }, "EPYC 2th Generation Zen 2 (Rome)": { tflops: 0.6, msrp: 7_000, power: 225, releaseYear: 2019, }, "EPYC 1st Generation Zen (Naples)": { tflops: 0.6, msrp: 4_000, power: 180, releaseYear: 2017, }, "Ryzen Threadripper Zen 5 9000 (Shimada Peak)": { tflops: 14.0, msrp: 5_000, power: 350, releaseYear: 2025, }, "Ryzen Threadripper Zen 4 7000 (Storm Peak)": { tflops: 10.0, msrp: 5_000, power: 350, releaseYear: 2023, }, "Ryzen Threadripper Zen 3 5000 (Chagall)": { tflops: 4.6, msrp: 6_500, power: 280, releaseYear: 2022, }, "Ryzen Threadripper Zen 2 3000 (Castle Peak)": { tflops: 3.2, msrp: 4_000, power: 280, releaseYear: 2019, }, "Ryzen Threadripper Zen 1000 (Whitehaven)": { tflops: 0.6, msrp: 1_000, power: 180, releaseYear: 2017, }, "Ryzen 7 3800X (16)": { tflops: 1.15, msrp: 400, power: 142, releaseYear: 2019, }, "Ryzen Zen 5 9000 (Ryzen 9)": { tflops: 0.56, msrp: 650, power: 230, releaseYear: 2024, }, "Ryzen Zen 5 9000 (Ryzen 7)": { tflops: 0.56, msrp: 350, power: 88, releaseYear: 2024, }, "Ryzen Zen 5 9000 (Ryzen 5)": { tflops: 0.56, msrp: 300, power: 88, releaseYear: 2024, }, "Ryzen Zen 4 7000 (Ryzen 9)": { tflops: 0.56, msrp: 700, power: 230, releaseYear: 2022, }, "Ryzen Zen 4 7000 (Ryzen 7)": { tflops: 0.56, msrp: 400, power: 142, releaseYear: 2022, }, "Ryzen Zen 4 7000 (Ryzen 5)": { tflops: 0.56, msrp: 300, power: 142, releaseYear: 2022, }, "Ryzen Zen 3 5000 (Ryzen 9)": { tflops: 1.33, msrp: 800, power: 142, releaseYear: 2020, }, "Ryzen Zen 3 5000 (Ryzen 7)": { tflops: 1.33, msrp: 450, power: 142, releaseYear: 2020, }, "Ryzen Zen 3 5000 (Ryzen 5)": { tflops: 0.72, msrp: 300, power: 88, releaseYear: 2020, }, "Ryzen Zen 2 3000 (Ryzen 9)": { tflops: 0.72, msrp: 750, power: 142, releaseYear: 2019, }, "Ryzen Zen 2 3000 (Ryzen 7)": { tflops: 0.72, msrp: 400, power: 142, releaseYear: 2019, }, "Ryzen Zen 2 3000 (Ryzen 5)": { tflops: 0.72, msrp: 250, power: 88, releaseYear: 2019, }, "Ryzen Zen 2 3000 (Ryzen 3)": { tflops: 0.72, msrp: 150, power: 88, releaseYear: 2020, }, "Ryzen AI 300 (Ryzen AI 9 HX)": { tflops: 5.52, msrp: 500, power: 54, releaseYear: 2024, }, "Ryzen AI 300 (Ryzen AI 9)": { tflops: 5.2, msrp: 450, power: 54, releaseYear: 2024, }, "Ryzen AI 300 (Ryzen AI 7)": { tflops: 4.34, msrp: 350, power: 54, releaseYear: 2024, }, "Ryzen AI 300 (Ryzen AI 5)": { tflops: 1.57, msrp: 250, power: 28, releaseYear: 2024, }, }, }, "Apple Silicon": { "-": { "Apple MacBook Neo": { tflops: 1.9, memory: [8], msrp: 700, power: 10, releaseYear: 2026, }, "Apple M1": { tflops: 2.6, memory: [8, 16], msrp: 1_250, power: 15, releaseYear: 2020, }, "Apple M1 Pro": { tflops: 5.2, memory: [16, 24, 32], msrp: 2_900, power: 30, releaseYear: 2021, }, "Apple M1 Max": { tflops: 10.4, memory: [16, 24, 32, 64], msrp: 3_900, power: 60, releaseYear: 2021, }, "Apple M1 Ultra": { tflops: 21, memory: [16, 24, 32, 64, 96, 128], msrp: 6_200, power: 120, releaseYear: 2022, }, "Apple M2": { tflops: 3.6, memory: [8, 16, 24], msrp: 1_500, power: 20, releaseYear: 2022, }, "Apple M2 Pro": { tflops: 6.8, memory: [16, 24, 32], msrp: 2_800, power: 35, releaseYear: 2023, }, "Apple M2 Max": { tflops: 13.49, memory: [32, 64, 96], msrp: 4_500, power: 80, releaseYear: 2023, }, "Apple M2 Ultra": { tflops: 27.2, memory: [64, 96, 128, 192], msrp: 7_000, power: 150, releaseYear: 2023, }, "Apple M3": { tflops: 4.1, memory: [8, 16, 24], msrp: 1_500, power: 22, releaseYear: 2023, }, "Apple M3 Pro": { tflops: 7.4, memory: [18, 36], msrp: 2_400, power: 40, releaseYear: 2023, }, "Apple M3 Max": { tflops: 14.2, memory: [36, 48, 64, 96, 128], msrp: 5_000, power: 90, releaseYear: 2023, }, "Apple M3 Ultra": { tflops: 28.4, memory: [96, 256, 512], msrp: 9_500, power: 180, releaseYear: 2025, }, "Apple M4": { tflops: 4.6, memory: [16, 24, 32], msrp: 1_600, power: 22, releaseYear: 2024, }, "Apple M4 Pro": { tflops: 9.2, memory: [24, 48, 64], msrp: 2_600, power: 45, releaseYear: 2024, }, "Apple M4 Max": { tflops: 18.4, memory: [36, 48, 64, 128], msrp: 5_000, power: 100, releaseYear: 2024, }, "Apple M5": { tflops: 5.7, memory: [16, 24, 32], msrp: 2_000, power: 25, releaseYear: 2025, }, "Apple M5 Pro": { tflops: 11.4, memory: [24, 36, 48, 64], msrp: 2_900, power: 50, releaseYear: 2026, }, "Apple M5 Max": { tflops: 22.8, memory: [36, 48, 64, 128], msrp: 5_000, power: 110, releaseYear: 2026, }, }, }, } satisfies Record<string, Record<string, Record<string, HardwareSpec>>>; export type SkuType = keyof typeof SKUS;