NVIDIA i AMD GPU poslužitelji: Usklađivanje platforme s vašim radnim opterećenjem | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

NVIDIA protiv AMD-a: Odabir najboljeg GPU poslužitelja za vaše radno opterećenje

by Nataliya Oteir
NVIDIA protiv AMD-a: Odabir najboljeg GPU poslužitelja za vaše radno opterećenje
star 50
0
čitati 15 min.

AMD i NVIDIA su dva vodeća igrača na tržištu grafičkih procesorskih jedinica. U segmentu GPU poslužitelja, obje tvrtke nude moćna rješenja za radna opterećenja koja zahtijevaju veliku računalnu snagu, uključujući umjetnu inteligenciju, strojevo učenje, znanstveno računarstvo i računarstvo visokih performansi

Iako su GPU poslužitelji dizajnirani za ubrzanje paralelnih izračuna, platforme tvrtki AMD i NVIDIA značajno se razlikuju u nekoliko područja, uključujući arhitekturu GPU-a, kapacitet memorije, softverski ekosustav, skalabilnost, performanse i cijenu. Te razlike izravno utječu na to koja je platforma bolje prilagođena određenom opterećenju.

Kao pružatelj infrastrukture poslovne razine, INTROSERV nudi prilagodljive  namjenske GPU poslužitelje za radna opterećenja koja zahtijevaju veliku računalnu snagu i visoke performanse, kao što su umjetna inteligencija, strojevo učenje, renderiranje, znanstveno računarstvo i HPC.

U ovom članku usporedit ćemo NVIDIA i AMD GPU poslužitelje, ispitati prednosti i ograničenja svake platforme te objasniti za koje su slučajeve upotrebe najbolje prikladni. Cilj nije utvrditi univerzalnog pobjednika, već pokazati zašto pravi izbor ovisi o specifičnom opterećenju i zahtjevima infrastrukture.

Poslužitelji s NVIDIA i AMD GPU-ovima

Različite vrste opterećenja ovise o različitim karakteristikama GPU-a—neka zahtijevaju više VRAM-a, dok se druga više oslanjaju na propusnost memorije ili broj tensor jezgri:

  • Aplikacije za razgovor
  • Obrada dokumenata
  • Pretraživanje i dohvaćanje informacija
  • Zadaci zaključivanja i inferencije


Isti princip vrijedi i za radna opterećenja izvan područja umjetne inteligencije. GPU poslužitelj koji dobro radi za obuku modela ili inferenciju možda neće uvijek biti najbolji izbor za 3D renderiranje, obradu videa, znanstveno računarstvo i druga GPU radna opterećenja koja zahtijevaju veliku računalnu snagu.


I NVIDIA i AMD nude moćna GPU rješenja, ali pri odabiru poslužitelja važno je uzeti u obzir više od samih ukupnih performansi. Ostali ključni čimbenici uključuju:

  • kompatibilnost s softverom i okvirima;
  • kapacitet i specifikacije GPU memorije;
  • skalabilnost u konfiguracijama s više GPU-a;
  • učinkovitost za određenu vrstu opterećenja;
  • zahtjevi za infrastrukturu i implementaciju;
  • ukupni trošak rješenja i omjer cijene i performansi.


NVIDIA je često preferirani izbor za zadatke umjetne inteligencije i strojnog učenja zahvaljujući svom zrelom softverskom ekosustavu, širokoj podršci za popularne okvire i snažnoj kompatibilnosti s aplikacijama umjetne inteligencije.

Jedna od ključnih prednosti tvrtke je CUDA, NVIDIA-ina vlasnička softverska platforma, koja je duboko integrirana u mnoge okvire za umjetnu inteligenciju, biblioteke i alate za razvoj.

GPU-ovi visokih performansi poput modela NVIDIA H100 i B200 dizajnirani su za AI radna opterećenja velikih razmjera, uključujući obuku modela i druge zadatke s intenzivnim računalnim opterećenjem.

Dodatne prednosti tvrtke NVIDIA uključuju zrele upravljačke programe, opsežnu dokumentaciju i dobro razvijen softverski paket, što općenito olakšava implementaciju i kontinuirano korištenje.

AMD ima prednost kod radnih opterećenja gdje je kapacitet GPU memorije glavna uska grla. Akceleratori Instinct nude više HBM memorije po kartici od mnogih usporedivih rješenja, što omogućuje da veći modeli i skupovi podataka stanu u memoriju jednog GPU-a bez raspodjele na više kartica. To može pojednostaviti i smanjiti troškove inferencije za već trenirane modele, budući da isti model može zahtijevati manje GPU-a, čime se smanjuju troškovi po zahtjevu. MI300X je dobar primjer tog pristupa, ali isti se princip primjenjuje i na širu Instinct seriju.

Glavni ograničavajući čimbenik za AMD obično je softverski ekosustav. Platforma ROCm brzo se razvija, ali u nekim slučajevima postavljanje i provjera kompatibilnosti mogu zahtijevati više vremena i inženjerskih resursa u usporedbi s zrelijim CUDA okruženjem.

Iz tog razloga, izbor između NVIDIA-e i AMD-a ne bi trebao biti temeljen samo na marki. NVIDIA ima prednost kada su zreli softverski ekosustav, široka kompatibilnost i obuka modela velikih razmjera glavni prioriteti. AMD može biti privlačniji kada su kapacitet GPU memorije i ukupni trošak rješenja ključna ograničenja.

Ne postoji univerzalno najbolja GPU platforma. Optimalni izbor ovisi o specifičnom opterećenju, bilo da se radi o obuci AI modela, inferenciji, obradi dokumenata, pretraživanju i dohvaćanju informacija, zadacima zaključivanja ili renderiranju složenih scena.

Zatim ćemo detaljnije razmotriti ove scenarije i objasniti koje su značajke GPU poslužitelja najvažnije za svaku vrstu opterećenja. To će pomoći razjasniti gdje NVIDIA ima prednost, gdje AMD može pružiti bolju vrijednost i zašto odabir GPU poslužitelja uvijek treba započeti analizom specifičnog zadatka.

Važna napomena: AMD i NVIDIA koriste različite arhitektonske pristupe. NVIDIA stavlja veći naglasak na računalnu učinkovitost i zadatke mješovite preciznosti, dok se AMD više fokusira na veliki kapacitet memorije i paralelnu obradu podataka.

Softverski ekosustav

CUDA je vlasnička platforma tvrtke NVIDIA, dok je ROCm platforma otvorenog koda tvrtke AMD. Međutim, u praksi ključna razlika nije model licenciranja, već koliko dodatnog posla može biti potrebno prije nego što se projekt može implementirati.

PyTorch i TensorFlow službeno podržavaju obje platforme. Međutim, velik dio koda i mnoge biblioteke u ekosustavu strojnog učenja razvijeni su s CUDA-om kao zadanoj ciljanoj platformi, stoga će se tipičan projekt vjerojatnije pokrenuti na NVIDIA-i bez izmjena. ROCm pruža HIP programski model, koji omogućuje portiranje CUDA koda, no migracija i dalje zahtijeva provjeru kompatibilnosti određenih biblioteka i verzija okvira.

Još jedna praktična razlika je opseg podrške za hardver i sustave. CUDA radi na cijeloj liniji NVIDIA-inih GPU-a, uključujući potrošačke GPU-e. ROCm službeno podržava ograničeniji raspon akceleratora i Linux distribucija, stoga bi popis kompatibilnosti trebalo pažljivo provjeriti prije odabira hardvera.

Zanimljiva je činjenica da AMD zauzima otvoreniji pristup, dok je NVIDIA-in CUDA ekosustav vlasnički. Unatoč tome, NVIDIA i dalje drži snažnu poziciju među programerima – ne samo zbog svog hardvera, već i zahvaljujući višegodišnjim ulaganjima i razvoju svog softverskog ekosustava.

Performanse

Obje platforme ubrzavaju matriksne izračune koristeći namjenske hardverske blokove: NVIDIA koristi Tensor jezgre, dok AMD koristi CDNA matriksne jezgre. Prisutnost ove vrste ubrzanja sama po sebi više nije značajan diferencijator, stoga bi se usporedba trebala usredotočiti na specifične metrike performansi.

Glavna razlika je u memoriji. H200 SXM dolazi s 141 GB HBM3e memorije i propusnošću memorije od 4,8 TB/s, dok MI300X nudi 192 GB HBM3 i 5,3 TB/s. Ti dodatnih 51 GB mogu odrediti hoće li se model stati na jedan akcelerator ili ga je potrebno podijeliti na više GPU-a.

Druga razlika leži u performansama kod različitih tipova izračuna. U dvostrukoj preciznosti, MI300X je ocijenjen na 81,7 TFLOPS, dok H200 SXM isporučuje 34 TFLOPS u standardnom FP64 načinu rada i 67 TFLOPS koristeći Tensor jezgre, što znači da prednost AMD-a ovisi o tome koji se način uspoređuje. Pri nižoj preciznosti jaz je uži: 5,2 PFLOPS naspram 3.958 TFLOPS u FP8, pri čemu obje brojke uzimaju u obzir rijetkost.

Cijena

Ni NVIDIA ni AMD ne objavljuju maloprodajne cijene za akceleratore podatkovnih centara. Ti se proizvodi obično isporučuju putem partnera, a konačni trošak ovisi o konfiguraciji cijelog sustava. Iz tog razloga ima više smisla uspoređivati čimbenike koji oblikuju ukupne troškove tijekom cijelog životnog ciklusa, a ne samo cijenu GPU-a.

Prvi je čimbenik broj GPU-a potrebnih za radno opterećenje. Kapacitet memorije određuje koliko je akceleratora potrebno za smještaj modela: 96 GB na RTX PRO 6000 Max-Q, 141 GB na H200 i 192 GB na MI300X. Manje GPU-a može značiti manje poslužitelja, manje mrežnih priključaka i niže troškove za potporu infrastrukture i softverskih licenci.

Drugi je čimbenik potrošnja energije, koja izravno utječe na troškove kolokacije i rada: 300 W za RTX PRO 6000 Max-Q, do 700 W za H200 i 750 W za MI300X. Tijekom nekoliko godina rada razlika između 300 W i 750 W po GPU-u može postati značajna u usporedbi s početnom cijenom hardvera.

Treći je čimbenik vrijeme inženjeringa. Ako je projekt već izgrađen na CUDA-i, migracija na ROCm može zahtijevati dodatnu validaciju biblioteka i verzija okvira. Taj se rad naplaćuje u inženjerskim satima, a ne pojavljuje se izravno na računu za hardver.

Integracija s infrastrukturom u oblaku i poslužitelja

NVIDIA ima snažno prisustvo među pružateljima usluga u oblaku i infrastrukturnih usluga. Njezin ekosustav uključuje alate za razvoj, kontejnere, unaprijed konfigurirane okvire i softver za umjetnu inteligenciju koji pojednostavljuju implementaciju i upravljanje GPU-ima.

AMD također aktivno širi svoju prisutnost u oblačnim okruženjima i podatkovnim centrima, prvenstveno putem svoje linije proizvoda Instinct i platforme ROCm. Njegov pristup otvorenog koda čini AMD sve privlačnijim tvrtkama koje traže alternativu infrastrukturi temeljenoj na CUDA-i.

Tehnički savjeti

Poslužitelj koji se na prvi pogled čini jeftinijim može na kraju koštati više ako kasnije otkrijete da model ne stane u memoriju jednog GPU-a i da su vam potrebna dva, ili da je ključna biblioteka dostupna samo za CUDA. Suprotno također vrijedi: nema puno smisla plaćati premiju za vodeći GPU ako je radno opterećenje ograničeno propusnošću memorije, a ne sirovom računalnom snagom.

Iz tog razloga, odluka ne bi trebala biti temeljena na marki, već na četiri čimbenika: specifičnom modelu GPU-a, verzijama okvira i biblioteka, podržanom operativnom sustavu i metodi implementacije. Ako se i samo jedan od tih čimbenika ne provjeri unaprijed, ušteda na hardveru može se brzo poništiti dodatnim inženjerskim satima.

NVIDIA predvodnik je u zrelosti softverskog ekosustava i širokoj podršci za AI

Jedna od glavnih prednosti tvrtke NVIDIA je njezin zreo softverski ekosustav. CUDA se široko koristi u industriji umjetne inteligencije, pa su mnoge biblioteke, alati za optimizaciju, resursi za obuku, kontejneri i produkcijski sustavi dizajnirani imajući na umu NVIDIA GPU-ove od samog početka. Kao rezultat toga, razvojni timovi obično mogu pronaći provjerene vodiče za instalaciju, detaljnu dokumentaciju i gotova rješenja za uobičajene probleme s implementacijom.

Platforma podržava glavne okvire, uključujući PyTorch, TensorFlow i JAX. Također se integrira s bibliotekama predobučenih modela, alatima za Kubernetes, sustavima za nadzor i poslovnim AI platformama. NVIDIA-in softverski paket za duboko učenje kombinira CUDA biblioteke, cuDNN i druge alate koji pomažu aplikacijama da učinkovito koriste GPU resurse.

Za inferenciju, NVIDIA nudi TensorRT, koji pomaže optimizirati podržane modele kako bi se smanjilo kašnjenje i povećao protok. Njegovi alati za kompajler i vrijeme izvođenja pojednostavljuju prijelaz s obučenog modela na produkcijsku uslugu. Više informacija dostupno je u dokumentaciji za TensorRT.

Zreli upravljački programi i biblioteke također su važni jer vrijeme postavljanja izravno utječe na troškove projekta. Inženjerski timovi mogu provesti dane rješavajući probleme povezane s nekompatibilnim upravljačkim programima, verzijama okvira (frameworka), jezgrama ili ovisnostima. NVIDIA-in širi ekosustav podrške pomaže smanjiti te izazove, posebno pri korištenju unaprijed izgrađenih Docker spremnika i provjerenih cloud slika.

U sustavima s više GPU-a, dodatna prednost može biti NVLink, tehnologija brze međusobne povezanosti između GPU-a. U podržanim konfiguracijama omogućuje bržu razmjenu podataka od standardnog PCIe-a, što je posebno važno kada više GPU-ova zajedno radi na istom modelu. Međutim, stvarna korist NVLinka ovisi o generaciji GPU-a, arhitekturi poslužitelja, softverskom okruženju i karakteristikama opterećenja.

U praksi se prednost NVIDIE često mjeri ne samo sirovom GPU snagom, već i inženjerskim vremenom uštedjenim tijekom implementacije, optimizacije i kontinuiranog rada.

AMD nudi snažne hardverske mogućnosti, ali softverski stack može zahtijevati više truda

AMD Instinct GPU-i mogu pružiti velike količine GPU memorije i snažne izračunske performanse za podržana AI radna opterećenja. To je posebno korisno kada model, serija ili skup podataka ne stane u GPU s manje VRAM-a. Veći kapacitet memorije također može smanjiti potrebu za agresivnom kvantizacijom ili složenim particioniranjem modela na više GPU-a.

AMD-ov softverski ekosustav izgrađen je oko ROCm-a, dok HIP pruža način za prilagodbu mnogih aplikacija orijentiranih na CUDA za AMD-ov hardver. U podržanim sustavima, Infinity Fabric se također može koristiti za brzu razmjenu podataka između akceleratora.

Istovremeno, kompatibilnost zahtijeva pažljiviju provjeru. Podrška može varirati ovisno o specifičnom modelu GPU-a, verziji ROCm-a, operativnom sustavu, Linux distribuciji, upravljačkim programima, bibliotekama, spremnicima i AI okviru.

Prije odabira AMD GPU poslužitelja, važno je provjeriti:

  • konkretni model GPU-a i kapacitet memorije;

  • verzije ROCm i HIP;

  • kompatibilnost s PyTorchom, TensorFlowom ili JAX-om;

  • potrebne biblioteke i operatore;

  • operativni sustav, poslužiteljsku platformu i okruženje za implementaciju.


Neki projekti izvorno razvijeni za CUDA možda će zahtijevati dodatnu prilagodbu, zamjenu biblioteka ili testiranje prije nego što mogu učinkovito raditi na ROCm-u. To ne čini AMD slabijim izborom. To znači da je AMD posebno dobro prilagođen projektima kod kojih se softverski paket može unaprijed provjeriti i gdje prednosti u kapacitetu memorije, performansama ili cijeni opravdavaju dodatni inženjerski napor.

Vrsta radnog opterećenja također je značajna. Jedan GPU može bolje raditi na obuci transformatorskih modela, dok je drugi učinkovitiji za inferenciju s velikom potrošnjom memorije ili za specifična računalna radna opterećenja. Iz tog razloga konačna odluka ne bi trebala biti temeljena isključivo na općim rezultatima benchmarka. Bolje je testirati vlastite modele, veličine grupa, postavke preciznosti i scenarije skaliranja.

NVIDIA CUDA naspram AMD ROCm: Usporedba ekosustava za GPU

Prilikom usporedbe CUDE i ROCm-a važno je uzeti u obzir više od samih performansi GPU-a. U mnogim stvarnim scenarijima softverski ekosustav igra odlučujuću ulogu, posebno za tvrtke koje implementiraju AI rješenja u produkcijskim okruženjima, gdje su kompatibilnost, stabilnost, dostupnost alata i jednostavnost implementacije ključni.

CUDA (Compute Unified Device Architecture)

CUDA je NVIDIA-ina računalna platforma za umjetnu inteligenciju i HPC zadatke. Čvrsto je integrirana s NVIDIA GPU-ovima i omogućuje programerima pristup računalnim resursima putem API-ja, prevoditelja, okruženja za izvođenje i biblioteka.

Ove su biblioteke grupirane unutar ekosustava CUDA-X, pri čemu svaka komponenta rješava određenu fazu tijeka rada. cuDNN optimizira operacije neuronskih mreža i korištenje Tensor Core, TensorRT ubrzava inferenciju i smanjuje latenciju pri implementaciji treniranih modela, NCCL upravlja razmjenom podataka i sinkronizacijom između GPU-a u sustavima s više GPU-a, a RAPIDS ubrzava zadatke u području znanosti o podacima i analitike.

Još jedna važna značajka je CUDA Graphs, koji bilježi niz operacija i pokreće ga kao jedan tijek rada, smanjujući opterećenje povezano s pokretanjem pojedinačnih kernela.

Na razini platforme, stack se nadopunjuje tehnologijama NVLink i NVSwitch za komunikaciju velikom brzinom između GPU-a, GPUDirect Storage za izravnu razmjenu podataka sa sustavima za pohranu i InfiniBand za komunikaciju između čvorova.

ROCm (Radeon Open Compute Platform)

ROCm je AMD-ova softverska platforma otvorenog koda za GPU računarstvo i glavna alternativa za CUDA. Dizajnirana je za AI, HPC i radna opterećenja s intenzivnim računarstvom u Linux okruženjima te uključuje okruženja za izvršavanje, alate za programiranje, optimizirane biblioteke i podršku za okvire za strojarno učenje.

ROCm podržava PyTorch, TensorFlow, ONNX Runtime, OpenCL i HPC radna opterećenja temeljena na MPI-ju. Ključna komponenta ekosustava je HIP: njegov programski model sintaktički je sličan CUDI, dok alat HIPIFY pomaže u portiranju postojećih CUDA aplikacija bez potrebe za potpunim prepisivanjem koda.

Sloj biblioteka slijedi slično funkcionalno mapiranje: MIOpen pokriva mnoge iste zadatke dubokog učenja kao i cuDNN, RCCL pruža funkcionalnost usporedivu s NCCL-om, a rocBLAS obrađuje operacije linearne algebre. Kompatibilnost s bibliotekama trećih strana, međutim, i dalje treba zasebno provjeriti za određenu verziju ROCm-a koja se koristi.

Koji odabrati: NVIDIA ili AMD?

Ne postoji univerzalni pobjednik. Najbolji izbor ovisi o opterećenju, softverskom stacku i zahtjevima infrastrukture.

NVIDIA je često bolji izbor kada su prioriteti:

  • kompatibilnost s CUDA-om;

  • zreli AI ekosustav;

  • lakša implementacija;

  • širok raspon spremnih alata i biblioteka;

  • snažna optimizacija za duboko učenje.


AMD može biti privlačnija opcija kada su prioriteti:

  • visoka propusnost GPU memorije;

  • veliki kapacitet VRAM-a;

  • pristup otvorenog koda;

  • izvrstan omjer cijene i performansi.


Na kraju, odluka ne bi trebala biti temeljena samo na nazivu marke. Trebala bi uzeti u obzir specifični model GPU-a, softverski paket, vrstu radnog opterećenja, zahtjeve za memorijom, okruženje implementacije i ukupne troškove infrastrukture.

Poduzećna GPU infrastruktura s INTROSERV-om

Radna opterećenja za umjetnu inteligenciju rijetko ovise samo o GPU-u. Trening modela zahtijeva pohranu za skupove podataka i kontrolne točke, dok online inferencija ovisi o niskoj latenciji između aplikacije i akceleratora. Između tih komponenti često se nalaze baze podataka, redovi i sustavi za pohranu. GPU može stajati neiskorišten ako mu podaci ne stignu dovoljno brzo, zbog čega bi infrastruktura trebala biti dizajnirana kao cjelovit sustav, a ne kao pojedinačna hardverska komponenta. INTROSERV pruža sve ključne komponente potrebne za izgradnju takvog okruženja.

Sloj za obradu

Namjenski GPU poslužitelji mogu se koristiti za obuku modela, inferenciju, renderiranje i znanstveno računarstvo. Konfiguracija se odabire ovisno o opterećenju: kapacitet GPU memorije određuje može li se model stati na jedan akcelerator, dok vrsta memorije i propusnost utječu na performanse kod opterećenja gdje je kretanje podataka, a ne sirovo računanje, glavna uska grla.

Infrastruktura oko GPU-a

Poslužitelji s NVMe pohranom i velikim kapacitetom diska dostupni su za skupove podataka, kontrolne točke i artefakte obuke. Baze podataka za metapodatke eksperimenata i vektorske indekse mogu se raspoređivati na konfiguracije optimizirane za I/O performanse i velike količine RAM-a. Procesi predobrade podataka, označavanja i učitavanja često ovise više o CPU-u i sistemskoj memoriji nego o GPU resursima, stoga se za te zadatke mogu koristiti standardni namjenski poslužitelji po znatno nižoj cijeni.

Mreža i lokacija

Sastavne komponente infrastrukture mogu se postaviti u istom podatkovnom centru i povezati privatnom mrežom, što pomaže smanjiti latenciju između sustava. Lokacije su dostupne u Njemačkoj, Nizozemskoj, Francuskoj, Ujedinjenom Kraljevstvu i Poljskoj, što korisnicima omogućuje odabir regije na temelju zahtjeva za rezidencijom podataka i blizine krajnjim korisnicima.

Ako imate bilo kakvih pitanja, naš tim za podršku dostupan 24/7 uvijek je spreman pomoći. Kontaktirajte nas u bilo koje vrijeme za pomoć pri planiranju GPU infrastrukture ili konfiguraciji poslužitelja.

Novi postovi

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA