Page 1 of 1

Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 3:55 pm
by The Punisher
Η nVidia ανακοίνωσε σε press release της το νέο της προϊόν, μετεξέλιξη του CUDA. Το όνομα αυτού : Fermi

Παραθέτω μερικά από τα σημαντικότερα points του Fermi
* C++, complementing existing support for C, Fortran, Java, Python, OpenCL and DirectCompute.
* ECC, a critical requirement for datacenters and supercomputing centers deploying GPUs on a large scale
* 512 CUDA Cores™ featuring the new IEEE 754-2008 floating-point standard, surpassing even the most advanced CPUs
* 8x the peak double precision arithmetic performance over NVIDIA’s last generation GPU. Double precision is critical for high-performance computing (HPC) applications such as linear algebra, numerical simulation, and quantum chemistry
* NVIDIA Parallel DataCache™ - the world’s first true cache hierarchy in a GPU that speeds up algorithms such as physics solvers, raytracing, and sparse matrix multiplication where data addresses are not known beforehand
* NVIDIA GigaThread™ Engine with support for concurrent kernel execution, where different kernels of the same application context can execute on the GPU at the same time (eg: PhysX® fluid and rigid body solvers)
* Nexus – the world’s first fully integrated heterogeneous computing application development environment within Microsoft Visual Studio
nVidia Press Release

είναι τρομερή η εξέλιξη αυτή! Μέχρι τώρα το CUDA δούλευε σε SIMD μοντέλο. Single-Instruction Multiple-Data. Δηλαδή έκανες data parallelism, έτρεχες το ίδιο πράγμα σε μικρότερα κομμάτια των Input δεδομένων.

Πλέον όμως το μοντέλο θα εξελιχθεί σε MIMD, δηλαδή θα τρέχουν διαφορετικές εντολές στα επιμέρους κομμάτια των input data. Αναμένεται φοβερό! :shock:

Παρεπιπτόντως, κάτι διάβαζα σήμερα ότι η nVidia σχεδιάζει να περάσει στην κάρτα γραφικών τις λειτουργίες των antivirus που κάνουν string-matching. Αυτό αναμένεται να επιταχύνει πάρα πολύ την όλη διαδικασία

Το CUDA το γνωρίζατε? Έχετε κάνει τίποτα σε αυτό?

Re: Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 4:32 pm
by Erevodifwntas
Το πιο τρομερό χαρακτηριστικό του όμως είναι ότι θα υποστηρίζει και Fortran :-P

Πάντως με το NEXUS φαίνεται να γίνεται πολύ πιο ελκυστικό (αν και με τα openCL και DirectCompute δεν ξέρω κατά πόσο έχει μέλλον).

Re: Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 4:37 pm
by ~~Wind~~
Μιλάμε για πολλούς υπολογισμούς το μsec :!:

Re: Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 4:42 pm
by proskopos
είναι τρομερή η εξέλιξη αυτή! Μέχρι τώρα το CUDA δούλευε σε SIMD μοντέλο. Single-Instruction Multiple-Data. Δηλαδή έκανες data parallelism, έτρεχες το ίδιο πράγμα σε μικρότερα κομμάτια των Input δεδομένων.

Πλέον όμως το μοντέλο θα εξελιχθεί σε MIMD, δηλαδή θα τρέχουν διαφορετικές εντολές στα επιμέρους κομμάτια των input data. Αναμένεται φοβερό!
Όντως η διαφορα θα φανεί αμέσως απο τις πρώτες κάρτες, αν το αντιλαμβάνομαι σωστα... κάτι σαν multitreading αλλα στα γραφικα....
πρόεδρος της nvidia wrote:Ο νέος επεξεργαστής γραφικών με την ονομασία Fermi θα είναι σύμφωνα με τον ιδρυτή και πρόεδρο της Nvidia, Jen-Hsun Huang, ο πρώτος από τα επόμενης γενιάς GPUs.

Σύμφωνα με τον Jen-Hsun Huang, λοιπόν, το GPU computing εφαρμόζεται όχι πλέον μόνο από επιστήμονες και χομπίστες αλλά κυρίως από προγραμματιστές και εταιρείες που έχουν υιοθετήσει ένα παράλληλο υπολογιστικό μοντέλο. "Τα GPUs είναι παντού. Σε notebooks, PCs, servers και cloud computing συστήματα". Το νέο GPU έχει τρία δισεκατομμύρια ημιαγωγούς ενώ η αρχιτεκτονική του Fermi και ο τελικός του σχεδιασμός προήλθε μετά από αρκετές συζητήσεις και προβληματισμούς με την κοινότητα των χιλιάδων CUDA προγραμματιστών από όλο το κόσμο.

Ο Jen-Hsun Huang αναφέρθηκε και στη σχετικά αργοπορημένη απάντηση της Nvidia στη νέα σειρά επεξεργαστών γραφικών από την ATI, τη σειρά Radeon HD 5800 που υποστηρίζει και DirectX11. "Σε κανέναν δεν αρέσει η φάση στην οποία ο ανταγωνισμός εμφανίζει ένα νέο προϊόν στην αγορά. Θέλουμε να κάνουμε την αγορά να προοδεύει και δεν θα αλλάξουμε τον τρόπο λειτουργίας μας ούτε στο παραμικρό. Γι’ αυτό και θα διαθέσουμε στην αγορά το προϊόν, όταν αυτό είναι πανέτοιμο, σε λίγους δηλαδή μήνες. Και αυτό θα είναι ευέλικτο και πανίσχυρο".
Επίσημο whitepaper απο Nvidia

Re: Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 4:44 pm
by cypher
The Punisher wrote: Παρεπιπτόντως, κάτι διάβαζα σήμερα ότι η nVidia σχεδιάζει να περάσει στην κάρτα γραφικών τις λειτουργίες των antivirus που κάνουν string-matching. Αυτό αναμένεται να επιταχύνει πάρα πολύ την όλη διαδικασία
Την πρωτη προταση δεν την πολυεπιασα. Θα ενσωματωσουν κατι παρομοιο με antivirus στους drivers για να αναλαμβανει μερος του φορτου η καρτα; :smt017

Anyway βγαινουν αρκετα νεα πραγματα στις καρτες γραφικων τωρα. Ειδικα με τις αφιξεις των νεων καρτων απο ati + το eyefinity.
Εγω περισσοτερο το Lucid απο μεριας intel αναμενω http://www.theinquirer.net/inquirer/new ... -gpus-easy που επιτρεπει παραλληλο συνδιασμο οποιονδηποτε καρτων γραφικων ανεξαρτητως μαρκας/μοντελου κτλ. Απλα κανει redistribution του workload. Αναρπαστο θα γινει. :-D

Re: Fermi: Η εξέλιξη του CUDA

Posted: Wed Oct 07, 2009 4:54 pm
by proskopos
cypher wrote:
The Punisher wrote: Παρεπιπτόντως, κάτι διάβαζα σήμερα ότι η nVidia σχεδιάζει να περάσει στην κάρτα γραφικών τις λειτουργίες των antivirus που κάνουν string-matching. Αυτό αναμένεται να επιταχύνει πάρα πολύ την όλη διαδικασία
Την πρωτη προταση δεν την πολυεπιασα. Θα ενσωματωσουν κατι παρομοιο με antivirus στους drivers για να αναλαμβανει μερος του φορτου η καρτα; :smt017

Anyway βγαινουν αρκετα νεα πραγματα στις καρτες γραφικων τωρα. Ειδικα με τις αφιξεις των νεων καρτων απο ati + το eyefinity.
Εγω περισσοτερο το Lucid απο μεριας intel αναμενω http://www.theinquirer.net/inquirer/new ... -gpus-easy που επιτρεπει παραλληλο συνδιασμο οποιονδηποτε καρτων γραφικων ανεξαρτητως μαρκας/μοντελου κτλ. Απλα κανει redistribution του workload. Αναρπαστο θα γινει. :-D
Μα ποιο το νόημα σε αυτό...? Να βάλεις 2 διαφορετικές κάρτες γραφικών να κατανεμηθεί ο φόρτος? Μια δυνατη κάρτα με την αρχιτεκτονικη Fermi πιθανών να έχει καλύτερα αποτελέσματα...
Νομίζω οτι η διαφορα στο Lucid ειναι οτι θα φτάνουν οι κάρτες στα όρια τους πιο δύσκολα... όμως ο χρόνος συγχρονισμου και κωδικοποίησης των δεδομενων ώστε να γίνονται αντιληπτα και απο τις 2 κάρτες ίσως να είναι σημαντικος...
Στο Fermi δεν χρειαζεται αυτο....
Μου διαφεύγει κατι?

Re: Fermi: Η εξέλιξη του CUDA

Posted: Thu Oct 08, 2009 12:39 am
by shodanjr_gr
The Punisher wrote: Πλέον όμως το μοντέλο θα εξελιχθεί σε MIMD, δηλαδή θα τρέχουν διαφορετικές εντολές στα επιμέρους κομμάτια των input data. Αναμένεται φοβερό! :shock:
Δεν νομίζω ότι προκύπτει αυτό από κάπου...Το Fermi είναι ουσιαστικά ένας "διπλασιασμένος" GT200 πυρήνας (διπλάσια shader processors) με τις όποιες αλλαγές σε caches και schedulers. Δεν αλλάζει το γεγονός ότι όλα τα computation units μέσα σε ένα shader processor πρέπει να τρέχουν τις ίδιες εντολές ;) (-> SIMD).

Οι "μαγκιές" του Fermi (που βοηθούν πολύ την επιστημονική/business κοινότητα) είναι το "πραγματικό" double-precision math support και η error correcting μνήμη (που έχει ήδη προσθέσει και η ΑΤi στις 5xxx series κάρτες).
Παρεπιπτόντως, κάτι διάβαζα σήμερα ότι η nVidia σχεδιάζει να περάσει στην κάρτα γραφικών τις λειτουργίες των antivirus που κάνουν string-matching. Αυτό αναμένεται να επιταχύνει πάρα πολύ την όλη διαδικασία
Yup, υπάρχουν μπόλικα papers που μιλάνε για GPU accelerated string matching.
Το CUDA το γνωρίζατε? Έχετε κάνει τίποτα σε αυτό?
Προσωπικά όχι :Ρ. Συγκριτικά με το OpenCL πάντως (τον κεντρικό "ανταγωνιστή", τον οποίο επίσης υποστηρίζει η nVidia) έχω την εντύπωση ότι έχει πολύ καλύτερα development tools και documentation.

Από την άλλη τρέχει μόνο σε nVidia hardware....

Re: Fermi: Η εξέλιξη του CUDA

Posted: Thu Oct 08, 2009 12:16 pm
by The Punisher
shodanjr_gr wrote:Δεν νομίζω ότι προκύπτει αυτό από κάπου...Το Fermi είναι ουσιαστικά ένας "διπλασιασμένος" GT200 πυρήνας (διπλάσια shader processors) με τις όποιες αλλαγές σε caches και schedulers. Δεν αλλάζει το γεγονός ότι όλα τα computation units μέσα σε ένα shader processor πρέπει να τρέχουν τις ίδιες εντολές (-> SIMD).
Εγώ το στήριξα στο παρακάτω
NVIDIA GigaThread™ Engine with support for concurrent kernel execution, where different kernels of the same application context can execute on the GPU at the same time
αλλά μάλλον είναι το ίδιο με το παλιό ε ? :smt017

Όπως και να έχει, και τα υπόλοιπα είναι εξίσου strong! C++, ECC, double precision .. και διπλάσιοι shaders!

Re: Fermi: Η εξέλιξη του CUDA

Posted: Thu Dec 03, 2009 12:34 pm
by The Punisher
Χάζευα σήμερα κάτι διαφάνειες για το FERMI από το SuperComputing2009 και είδα την παρακάτω
cuda_slide.png
Οπότε μιλάμε όντως για παράλληλη εκτέλεση διαφορετικών kernels!

link

Re: Fermi: Η εξέλιξη του CUDA

Posted: Thu Dec 03, 2009 12:37 pm
by proskopos
The Punisher wrote:Χάζευα σήμερα κάτι διαφάνειες για το FERMI από το SuperComputing2009 και είδα την παρακάτω
cuda_slide.png
Οπότε μιλάμε όντως για παράλληλη εκτέλεση διαφορετικών kernels!

link
Στον οριζοντια άξονα τι υποτίθεται οτι είναι...? Βεβαια καταλαβαινω τι εννοεί, αλλα εντύπωση μου κάνει οτι στο παράλληλο, "μετράει" ουσιαστικά τα επεξεργαστικά δεδομένα του 2 πυρήνα και το χωρίζει σε 2 χρόνους...

Re: Fermi: Η εξέλιξη του CUDA

Posted: Thu Dec 03, 2009 12:43 pm
by The Punisher
ουσιαστικά είναι τα διαθέσιμα threads που χρησιμοποιούνται. Αν ο kernel 2 δεν προλάβει στο t_1 να τελειώσει (απαιτεί συγκεκριμένο αριθμό από threads ας πούμε) τότε συνεχίζει στο t_2