Jak sprawdzamy każdy używany akcelerator GPU, zanim trafi do Ciebie - 6 etapów kwalifikacji i co jest na certyfikacie
- 0
- 0
Krótka odpowiedź: kupując używaną kartę datacenter od anonimowego sprzedawcy, kupujesz kota w worku — nie wiesz, czy to egzemplarz sprawny, czy wyeksploatowany po kopalni, z martwiejącą pamięcią, i nie masz jak tego zweryfikować po fakcie. My każdą sztukę przepuszczamy przez sześcioetapową kwalifikację — od testu całej dostępnej przestrzeni VRAM, przez burn-in z watchdogiem termicznym, po sprawdzenie poprawności obliczeń — i wystawiamy do niej certyfikat przypisany do egzemplarza, z odciskiem technicznym karty i wynikiem każdego etapu. To dokument tej sztuki, nie modelu — porównasz go z kartą, którą trzymasz w ręku. Nie zamienia to używanego sprzętu w nowy z gwarancją producenta (tej nie ma i mówimy o tym wprost), ale zamienia „zaufaj mi" w „sprawdź sam".
Zacznę od uczciwego postawienia sprawy: sprzedajemy używane karty datacenter z rynku wtórnego. Nie ma na nie gwarancji producenta — obowiązuje gwarancja sprzedawcy na warunkach podanych przy sprzedaży. W tym świecie zaufanie nie bierze się z marki na pudełku, bo pudełka nie ma. Bierze się z tego, że pokazujemy, co dokładnie sprawdziliśmy i że to działa. Ten tekst pokazuje, jak to robimy — żebyś wiedział, za co płacisz, i mógł to sam zweryfikować.
Czego naprawdę boisz się przy używanym akceleratorze
Rynek wtórny kart datacenter ma trzy realne pułapki, i warto je nazwać, zanim powiem, jak je adresujemy:
Karty po kopalni. Sprzęt chodzący miesiącami pod pełnym obciążeniem w kiepskim chłodzeniu. Sam fakt „był w kopalni" nie przesądza o awarii — ale intensywna eksploatacja i cykle termiczne zwiększają ryzyko problemów z lutami, pamięcią i układem zasilania, które chcesz wyłapać, zanim zapłacisz.
Martwiejąca pamięć. Pojedyncze komórki VRAM potrafią sypać błędami pod obciążeniem, choć karta „odpala" i przechodzi podstawowe testy. Na karcie do liczenia to poważny problem — błąd pamięci może oznaczać błędny wynik.
Podmieniony albo przekłamany egzemplarz. „V100 32 GB" na aukcji, a w rzeczywistości 16 GB, inny BIOS, przelutowana etykieta. Bez odczytania karty programowo nie masz jak sprawdzić, co faktycznie dostałeś.
Anonimowa aukcja nie daje odpowiedzi na żadne z tych pytań. Nasz proces jest zbudowany właśnie po to, żeby na każde odpowiedzieć konkretem, który zostaje z Tobą na papierze.
Sześć etapów kwalifikacji — co i po co sprawdzamy
Każda sztuka przechodzi bramkę wejściową (warunki testu) i ten sam zestaw sześciu testów, w kolejności fail-fast: pierwszy etap, który nie przejdzie, kończy test danej karty (nie ma sensu grzać dalej egzemplarza, który już odpadł). Różni się tylko wariant czasowy testu (bazowy albo dokładniejszy — o tym niżej), a certyfikat jasno pokazuje, który został wykonany. Każdy etap ma jawne kryterium zaliczenia i zapisany artefakt — żaden „przeszło" bez pliku.
Bramka wejściowa — warunki testu. Zanim cokolwiek zmierzymy, wymuszamy dwie rzeczy: pełny power limit karty i włączone ECC (korekcję błędów pamięci). Bez tego wynik byłby nieważny — niższy limit ogranicza maksymalny pobór i zmienia charakterystykę termiczną testu, a z wyłączonym ECC nie ma czego czytać. Dopiero gdy oba warunki są spełnione, ruszają właściwe testy. Stan obu zapisujemy jako dowód warunków testu. Potem sześć testów:
1. Odcisk techniczny (fingerprint). Odczytujemy trwałe identyfikatory egzemplarza: model, numer seryjny, GPU UUID, VBIOS, PCI ID, pełny numer płytki, ilość pamięci, a także progi termiczne karty (temperatura slowdown i shutdown, odczytane przez nvidia-smi) — i sprawdzamy zgodność z deklarowanym modelem. To tu wyłapiemy „16 zamiast 32 GB" albo podmieniony BIOS; progi termiczne kalibrują też watchdog burn-inu. Niezgodność modelu = stop, egzemplarz do wyjaśnienia.
2. Pamięć — test całej dostępnej przestrzeni VRAM. To najważniejsza zmiana względem „karta się odpaliła". Uruchamiamy cuda_memtest na największym bloku pamięci, jaki da się zaalokować — na 16-gigabajtowej P100 to ok. 16 000 MB, czyli praktycznie cała pamięć dostępna dla procesu poza narzutem sterownika — zapisując i weryfikując w niej wzorce (walking-bit, own-address, moving inversions 8- i 32-bitowe oraz losowe, block move, sekwencje losowe). To on realnie waliduje pamięć — sam monitoring ECC (niżej) jest ważnym sygnałem, ale nie zastępuje systematycznego przejścia po każdym adresie. Kryterium jest bezlitosne: jakikolwiek błąd = odrzut.
3. Burn-in pod pełnym obciążeniem — z watchdogiem termicznym. gpu-burn obciąża kartę macierzowo na pełnym power limicie, a telemetria co sekundę rejestruje temperaturę, pobór i sygnały throttlingu. Nad tym czuwa watchdog z konserwatywnymi progami naszego testu: przy 75 °C ostrzega, przy 80 °C przerywa test i oznacza kartę jako przegrzaną (sprawdziliśmy to fizycznie — odcięcie chłodzenia faktycznie wyzwala abort). To progi bezpieczeństwa testu, celowo niższe od fabrycznych progów slowdown/shutdown karty, które odczytujemy osobno w fingerprincie. Po co pełne obciążenie? Bo problemy najczęściej ujawniają się właśnie na granicy — tam, gdzie postawi kartę Twój realny workload. Nie każdą przyszłą awarię tak wyłapiemy, ale pełne obciążenie wychwytuje znacznie więcej niż pobieżny rozruch.
4. ECC — realny odczyt liczników, per architektura. Tu ważna uczciwość: mechanizm różni się między kartami. Pascal i Volta (P4/P40/P100/V100) używają Retired Pages (wycofywania stron pamięci), Ampere (A2) — Row Remapper (remapowania wierszy). Czytamy właściwe liczniki dla danej architektury po burn-inie. Kryterium kwalifikacji jest precyzyjne: brak błędów niekorygowalnych oraz brak nowych wycofanych stron / nieudanego remapu podczas testu (pojedynczy błąd korygowalny to nie to samo co uszkodzenie — rozróżniamy te liczniki). Rosnące ECC to jeden z najwcześniejszych sygnałów, że z pamięcią coś się dzieje.
5. Interfejs PCIe. Sprawdzamy prędkość łącza pod obciążeniem, błędy magistrali (AER) oraz konkretny licznik replay łącza (pcie.replay_counter z nvidia-smi) — nie ogólną „retransmisję" wyprowadzaną pośrednio, tylko tę jedną, jednoznaczną wartość. Jedna uczciwa uwaga, żeby nie wprowadzać w błąd: A2 pracuje natywnie na PCIe x8 — to jej prawidłowa specyfikacja, nie degradacja, i tak ją oceniamy (porównujemy do natywnej szerokości modelu, nie do „x16 z każdej karty").
6. Poprawność obliczeń (known-answer). Burn-in dowodzi, że karta „liczy stabilnie", ale nie że liczy dobrze. Dlatego puszczamy detekcję YOLOv8 na wzorcowym obrazie i porównujemy zbiór wykrytych obiektów z przebiegu FP32 i FP16 — muszą być zgodne i muszą to być oczekiwane obiekty (nie chodzi o bitową identyczność wyników, tylko o zgodność detekcji). To dodatkowy test poprawności ścieżki obliczeniowej dla tego workloadu i tego wejścia. Uczciwie o zakresie: to sprawdza ścieżkę FP16; jednostki Tensor Core mają dopiero Volta i Ampere (V100, A2) — na Pascalu (P4/P40/P100) ich nie ma, więc o Tensorach mówimy tylko przy tych pierwszych. I jeszcze wyraźniej: to nie jest formalna walidacja wszystkich jednostek obliczeniowych karty — to test end-to-end, który wychwytuje część błędów niewidocznych w samym teście stabilności, nie dowód poprawności każdej operacji.
Jak to wygląda na realnym wyniku? To nie jest ilustracja — poniżej fragment prawdziwego certyfikatu zakwalifikowanej sztuki P100 (numer seryjny i UUID zamaskowane):
CERTYFIKAT KWALIFIKACJI GPU — Agile Store
Status: POZYTYWNY (PASS)
Data: 2026-08-27 13:17
Model: Tesla P100-PCIE-16GB
Numer seryjny: 03247…7810
GPU UUID: GPU-1411d3ac-****-****-****-********ea4
VBIOS: 86.00.41.00.06
Board Part Number: 900-2H400-0000-000
Pamięć: 16384 MiB
Progi termiczne: slowdown 82°C / shutdown 85°C (watchdog WARN 75 / ABORT 80)
Warunki: PASS power 250/250 W (pełny); ECC=Enabled
Fingerprint: PASS zgodny z deklarowanym modelem
VRAM: PASS cuda_memtest 1.2.3; 16006 MB; 0 błędów; 1 przebieg
Burn-in: PASS gpu-burn 636 s; maxT 61°C; avgP 202,4 W; throttle 0
ECC: PASS Retired Pages; uncorrectable 0/0; double-bit 0
PCIe/AER: PASS gen3 x16 (natywne); replay 0; 0 wpisów AER
Inference: PASS YOLO FP16 == FP32; klasy ["bus","person"×4]
To są liczby tej konkretnej sztuki, z jej folderu dowodowego — nie uśredniona charakterystyka modelu. Do każdej karty zostaje komplet surowych logów (m.in. pełny przebieg cuda_memtest i telemetria burn-inu co sekundę) oraz skrypty do powtórzenia testu.
Certyfikat per sztuka — co realnie niesie
Do każdej sztuki generujemy osobny dokument przypisany do egzemplarza — jedna strona A4 na jedną kartę, z kodem kreskowym Code128 i weryfikacyjnym QR. Co jest na nim teraz:
- Odcisk techniczny: model, numer seryjny, GPU UUID, VBIOS, pełny numer płytki (Board PN), ilość pamięci, PCI ID — plus progi termiczne karty (slowdown/shutdown).
- Świadectwo kwalifikacji: wynik każdego wykonanego etapu (warunki, VRAM/memtest, burn-in z maks. temperaturą i poborem, ECC, PCIe, inference) — z datą i godziną testu.
- Warunki gwarancji — komplet punktów, wprost, bez drobnego druku.
Dlaczego to ma znaczenie? Bo GPU UUID i numer seryjny są unikalne dla egzemplarza. Odczytasz je z karty jedną komendą i porównasz z papierem:
nvidia-smi --query-gpu=uuid,serial,vbios_version,pci.device_id --format=csv
Zweryfikuj kartę samodzielnie w 30 sekund:
- Odczytaj GPU UUID z wydruku komendy i porównaj z certyfikatem.
- To samo dla numeru seryjnego.
- To samo dla VBIOS.
- Sprawdź ilość pamięci (
nvidia-smipokazuje ją w nagłówku) — musi zgadzać się z certyfikatem. - Cokolwiek się nie zgadza = to nie jest ta sztuka, którą przetestowaliśmy. Napisz do nas.
Zgadza się UUID, seryjny i VBIOS — potwierdzasz, że identyfikatory odpowiadają karcie, którą przetestowaliśmy, a nie „takiej samej" podmienionej po drodze. Ilość pamięci na certyfikacie zamyka dyskusję „16 czy 32 GB". Numer płytki to fabryczne oznaczenie, którego sama naklejka nie zmieni. A dla każdej sztuki zostaje komplet surowych logów i skrypty do powtórzenia testu — nic nie jest „na słowo".
Czego ten proces nie robi — bo uczciwość to też część certyfikatu
Nie chcę, żebyś wyszedł z tego tekstu z wrażeniem, że sprzedajemy nowy sprzęt z pięcioletnim wsparciem. Nie sprzedajemy. Więc wprost, co poza zakresem:
- Nie ma gwarancji producenta. To rynek wtórny — obowiązuje gwarancja sprzedawcy na warunkach podanych przy sprzedaży. Kwalifikacja to nie to samo co gwarancja producenta; jeśli ktoś Ci obiecuje „gwarancję NVIDIA" na używany akcelerator z rynku wtórnego, kłamie.
- Nie robimy pełnego thermal cyclingu. Burn-in wyłapuje niestabilność termiczną pod obciążeniem, ale nie symuluje wielu cykli grzania/stygnięcia, które mogą ujawnić problemy mechaniczne, np. mikropęknięcia połączeń. To osobny, długi reżim — nie udajemy, że go stosujemy.
- Poziom bazowy vs dokładny. Standardowo kwalifikujemy w wariancie bazowym (jedno przejście memtestu, 10 minut burn-inu). Wariant dokładniejszy (trzy przejścia pamięci, 30 minut burn-inu) uruchamiamy na życzenie — nie udajemy, że każda sztuka przechodzi maksymalny wariant.
- Kwalifikacja to migawka. Certyfikuje stan karty w chwili testu. Używany sprzęt może zawieść później — dlatego jest gwarancja, nie dlatego, że test był słaby.
To nie jest „mniej pewności". To jest właściwa pewność: wiesz dokładnie, co zostało sprawdzone, w jakim wariancie i czego test nie obejmuje — zamiast kupować obietnicę bez pokrycia.
Co z tego masz — trzy konkrety
- Weryfikowalność. Odczytujesz UUID/seryjny/VBIOS z karty i porównujesz z certyfikatem. Zgadza się = to ta sztuka, przetestowana, nie podmieniona.
- Punkt odniesienia. Masz na papierze wynik każdego etapu, temperaturę i pobór z chwili testu certyfikacyjnego. Jeśli karta zacznie się zachowywać inaczej, wiesz, od czego odbijać.
- Powtarzalność. Do każdej sztuki zostaje komplet logów i skryptów — kwalifikację można powtórzyć, a nie tylko przeczytać, że „przeszła".
Jedna myśl na koniec
Używana karta datacenter bez dokumentacji to loteria — i cena często to odzwierciedla, bo płacisz mniej za większe ryzyko. My tego ryzyka nie ukrywamy, tylko je adresujemy: przepuszczamy każdą sztukę przez sześć etapów i dajemy Ci odcisk palca konkretnej karty razem z wynikiem każdego z nich. Nie zamienia to używanego w nowe. Zamienia „uwierz sprzedawcy" w „zweryfikuj sam" — a to jedyna waluta zaufania, która ma sens na rynku wtórnym.
Źródła
Proces własny Agile Store — cert-pipeline: 6-etapowa kwalifikacja per sztuka, wdrożona i zwalidowana w naszym procesie kontroli. Surowe logi, wyniki i skrypty do powtórzenia testu przechowujemy per numer seryjny.
