Νέα

Η εταιρεία εκκίνησης σκληραίνει τη Nvidia: προσομοιώνει το CUDA σε κάρτες AMD και τα πρωτότυπα προγράμματα μπορούν να μεταγλωττιστούν και να εκτελεστούν απευθείας

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Το Crecy προέρχεται από τον ναό Aofei
    Qubits | Δημόσιος λογαριασμός QbitAI

Χωρίς καμία τροποποίηση ή μετατροπή, η κάρτα γραφικών AMD μπορεί να τρέξει το αρχικό πρόγραμμα CUDA!

Μια βρετανική νεοσύστατη εταιρεία κυκλοφόρησε ένα εργαλείο συλλογής προγράμματος CUDA για την AMD, το οποίο είναι δωρεάν για εμπορική χρήση.

Μόλις κυκλοφόρησε το εργαλείο, προκάλεσε εκτεταμένη έντονη συζήτηση μεταξύ των χρηστών του Διαδικτύου καιΈφτασε στην κορυφή της καυτής λίστας του HackerNews



Το εργαλείο ονομάζεται SCALE και οι προγραμματιστές το τοποθετούν ως GPGPU (GPU γενικής χρήσης) εργαλειοθήκη προγραμματισμού.



Επί του παρόντος, 9 προγράμματα συμπεριλαμβανομένου του πλαισίου μεγάλου μοντέλου llama-cpp έχουν περάσει τη δοκιμή και εκτελούνται κανονικά.

Σε αντίθεση με άλλες υλοποιήσεις, SCALEΑπευθείας προσομοίωση της εγκατάστασης του κιτ εργαλείων CUDA, δεν χρειάζεται να κάνετε μετατροπή σε άλλες γλώσσες για να ολοκληρώσετε τη συλλογή από την πηγή.

Επομένως, το SCALE μπορεί επίσης να παρέχει υποστήριξη για ενδιάμεσες γλώσσες ειδικά για τη NVIDIA, όπως η ενσωματωμένη PTX.

Δεν χρειάζεται να κάνετε μετατροπή, αφήστε την AMD να τρέξει το CUDA

Η επίσημη εισαγωγή του ιστότοπου δείχνει ότι το SCALE έχει κυρίως μεταγλωττιστή nvcc συμβατό με τρία στοιχεία, υλοποίηση AMD χρόνου εκτέλεσης και προγράμματος οδήγησης CUDA και βιβλιοθήκη ROCm.

Ο μεταγλωττιστής μπορεί να μεταγλωττίσει απευθείας προγράμματα γραμμένα σε γλώσσες που αφορούν το CUDA, συμπεριλαμβανομένων nvcc, inline PTX, κ.λπ. σε δυαδικούς κώδικες που μπορούν να εκτελεστούν σε GPU της AMD.

Η βιβλιοθήκη ROCm χρησιμοποιείται για την παροχή του API "CUDA-X" και η SCALE χρησιμοποιεί αυτήν τη μέθοδο όταν ασχολείται με βιβλιοθήκες όπως cuBLAS και cuSOLVER.



Η βασική καινοτομία της SCALE είναι αυτήΑποδεχτείτε το πρόγραμμα CUDA ως έχει, χωρίς να χρειάζεται να τα μεταφέρετε σε άλλη γλώσσα,Συμβατό με nvcc και clangκαι άλλες μεθόδους μεταγλώττισης, ενώ τα υπάρχοντα εργαλεία κατασκευής και τα σενάρια (όπως το cmake) μπορούν να λειτουργήσουν κανονικά.

Σύμφωνα με την επίσημη δήλωση, το SCALE είναι πλήρως συμβατό με το CUDA, επιτρέπονταςΟι προγραμματιστές δεν χρειάζεται να γράφουν ξεχωριστούς κωδικούς για διαφορετικές πλατφόρμες GPU

Αυτό είναι πολύ διαφορετικό από το HIP που κυκλοφόρησε από την AMD, επειδή το HIP ξαναγράφει τον κώδικα CUDA με συγκεκριμένο τρόπο και μπορεί να μην μπορεί να κατανοήσει σωστά πολύπλοκες μακροεντολές και δεν υποστηρίζει ιδιόκτητες γλώσσες όπως η ενσωματωμένη PTX.

Ακόμη και ο συγγραφέας του SCALE πιστεύει ότι το HIP δεν μπορεί να λύσει το πρόβλημα συμβατότητας CUDA.

Επιπλέον, η γλώσσα του SCALE είναι ένα υπερσύνολο του CUDA, παρέχοντας μερικάΠροαιρετικές επεκτάσεις γλώσσας, το οποίο μπορεί να καταστήσει ευκολότερο και πιο αποτελεσματικό για προγραμματιστές που θέλουν να απαλλαγούν από το nvcc να γράφουν κώδικα GPU.

Ο συγγραφέας εξέφρασε την ελπίδα ότι στο μέλλον οι προγραμματιστές θα μπορούν να γράφουν κώδικα μία φορά και να τον τρέχουν σε διαφορετικές πλατφόρμες υλικού και εργάζεται για να γεφυρώσει το χάσμα συμβατότητας μεταξύ της δημοφιλής γλώσσας προγραμματισμού CUDA και άλλων προμηθευτών υλικού.

Επί του παρόντος, η υποστήριξη της SCALE για διάφορες σειρές GPU της AMD είναι η εξής:

  • Υποστηρίζεται ήδη: gfx1030 (σειρά RX6000) και gfx1100 (σειρά RX7000)
  • "φαίνεται να λειτουργεί": gfx1010 (σειρά RX5000) και gfx1101
  • Προσαρμογή: gfx900 (σειρά RX Vega)

Επιπλέον, ο συγγραφέας δοκίμασε ορισμένα έργα ανοιχτού κώδικα CUDA και έτρεξε με επιτυχία 9 εφαρμογές CUDA χρησιμοποιώντας SCALE.



Ωστόσο, το SCALE είναι τελικά ένα ολοκαίνουργιο έργο, επομένως ο συγγραφέας έχει ετοιμάσει επίσης μια σειρά από σεμινάρια από την εγκατάσταση έως τη μεταγλώττιση, δίνοντας διαφορετικούς τύπους δειγμάτων προγραμμάτων.

Τα βασικά βήματα του σεμιναρίου συνοδεύονται από σχετικούς κωδικούς και περιλαμβάνουν ακόμη και τον τρόπο προσδιορισμού του μοντέλου της δικής σας GPU, που μπορούμε να πούμε ότι είναι πολύ λεπτομερής.



Εάν αντιμετωπίσετε προβλήματα κατά τη χρήση, ο συγγραφέας εισάγει επίσης κοινές μεθόδους αντιμετώπισης προβλημάτων και επίσης ανοίγει ένα φόρουμ Discord για να επικοινωνήσει απευθείας με την ομάδα ανάπτυξης.



Η εκκίνηση που δημιούργησε το SCALE ονομάζεταιΦασματικός Υπολογισμός, που ιδρύθηκε στο Ηνωμένο Βασίλειο το 2018, ισχυρίζεται ότι έχει μια εις βάθος κατανόηση της αρχιτεκτονικής της CPU και της GPU και στόχος της είναι να βοηθήσει τους προγραμματιστές να χρησιμοποιούν αποτελεσματικά τους υπολογιστικούς πόρους.



Netizen: Προκαλέστε την τάφρο της Nvidia;

Ορισμένοι χρήστες του Διαδικτύου πιστεύουν ότι εάν το SCALE μπορεί να έχει πραγματικά το αποτέλεσμα (όπως διαφημίζεται), θα αμφισβητήσει την τάφρο της NVIDIA και θα επιτρέψει στην AMD να την ανταγωνιστεί άμεσα.



Ωστόσο, είναι πολύ νωρίς για να βγάλουμε συμπέρασμα τώρα, εξάλλου, οι υπεύθυνοι της SCALE παραδέχονται επίσης ότι υπάρχουν ακόμα ελαττώματα σε σύγκριση με το αρχικό CUDA.

Και ο προγραμματιστής κατέστησε επίσης σαφές ότι ορισμένα API και λειτουργίες CUDA δεν υποστηρίζονται, αλλά δεν έδωσε μια συγκεκριμένη λίστα.



Σχετικά με περισσότερες ελλείψεις της "λύσης AMD", ένας χρήστης του Διαδικτύου που ισχυρίστηκε ότι είχε επικοινωνήσει με την ομάδα SCALE είπε ότι η τρέχουσα SCALE δεν μπορεί να λειτουργήσει το TensorCore, πράγμα που σημαίνει ότι το πλαίσιο επιτάχυνσης FlashAttention δεν μπορεί να εκτελεστεί στην AMD.

Επιπλέον, δεδομένου ότι η κάρτα N έχει μια ισχυρή μονάδα πολλαπλασιασμού μήτρας, ακόμα κι αν μπορεί να γίνει μεταγλώττιση και εκτέλεση, η απόδοση της κάρτας AMD μπορεί να μην είναι τόσο καλή όσο αυτή της κάρτας N.



Ορισμένοι χρήστες του Διαδικτύου πιστεύουν ότι ο λόγος για τον οποίο η Nvidia είναι κυρίαρχη είναι ότι η AMD δεν είναι πρόθυμη να επενδύσει ώστε η GPU της να έχει υψηλότερη απόδοση μηχανικής εκμάθησης (όχι μόνο το πλεονέκτημα του CUDA).



Ακόμα κι αν λειτουργούν αποτελεσματικά, υπάρχει επίσης το ερώτημα εάν οι κάρτες AMD είναι πραγματικά προσιτές και προσβάσιμες.



Ένα άλλο κύμα χρηστών του Διαδικτύου πιστεύουν ότι το μεγαλύτερο πρόβλημα δεν είναι αν μπορεί να λειτουργήσει τεχνικά, αλλά τα νομικά ζητήματα πίσω από αυτό.

Αυτό το θέμα έχει επίσης προκαλέσει εκτενή συζήτηση, αλλά δεν υπάρχει ακόμη συμπέρασμα.

Μερικοί άνθρωποι πιστεύουν ότι το SCALE είναι νομικά αμφισβητήσιμο με το ZLUDA (άλλος τρόπος εκτέλεσης προγραμμάτων CUDA στην AMD) και μπορεί να οδηγήσει σε αγωγές από τη NVIDIA.



Συγκεκριμένα, σύμφωνα με τους όρους EULA της NVIDIA, το CUDA SDK επιτρέπει μόνο την ανάπτυξη εφαρμογών που εκτελούνται σε κάρτες N, οι οποίες ενδέχεται να απαγορεύουν συμβατές υλοποιήσεις όπως το SCALE.



Αλλά αμέσως κάποιοι χρήστες του Διαδικτύου είπαν ότι η SCALE δεν χρησιμοποίησε το "SDK" της NVIDIA, οπότε γιατί να μιλήσουμε για τη συμφωνία χρήσης SDK;



Εν ολίγοις, είτε πρόκειται για τεχνική αδυναμία είτε για νομικό ζήτημα, η συζήτηση για αυτό το νέο εργαλείο είναι ακόμη σε εξέλιξη.

Όσο για το αν είναι χρήσιμο ή όχι, εναπόκειται στους προγραμματιστές να ψηφίσουν με τα πόδια τους.

Σύνδεσμοι αναφοράς:
[1]https://docs.scale-lang.com/
[2]https://news.ycombinator.com/item?id=40970560