Login Form
IPv6 Ready
Σελίδα 419 από 419 ΠρώτηΠρώτη ... 399409414417418419
Εμφάνιση 6.271-6.277 από 6277
  1. #6271
    Εγγραφή
    10-03-2008
    Ηλικία
    34
    Μηνύματα
    3.272
    Downloads
    2
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Η amd εκανε ενα λαθος με τον threadripper. Απ'τη στιγμη που εχει 180w tdp, επρεπε οταν εχει low use στα 28-30threads, να κανει boost τα 2-4 threads στα 4.5ghz+ ωστε να μη χανει σε single threaded (αντε μεχρι 2-4 threads). Το αποτελεσμα ειναι ο i9 που κανει turbo στα 4.3 και turbo-max στα 4.5 να τον γλενταει τον threadripper σε απλα καθημερινα single threaded tasks.
    Αυτά γίνονται λόγω 14nm της samsung που είναι φτιαγμένα για χαμηλές συχνότητες.
    Λογικά με την πάροδο του χρόνου θα δούμε και πιο επιθετικά turbo boost.

    Τα 7nm η Glofo πάντως τα φτιάχνει για 5.0Ghz base clocks, οπότε αργά ή γρήγορα θα δούμε και 16πυρηνους στα 4.5ghz+ στην TR4 πλατφόρμα.
    AMD FX 8350 @4,9Ghz, GIGABYTE 990FXA-UD7, GEIL EVO CORSA 16GB DDR3 2133Mhz, CRUSIAL M4 256Gb SATAIII, SAPPHIRE HD7950 3GB DDR5, W.D. 1TB CAVIAR BLACK, ENERMAX GALAXY 850WATT, COOLERMASTER STORM STRYKER, SAMSUNG T27A300, LOGITECH S510, LOGITECH X-230, PLEXTOR DVD-RW, LG BR-RW, SCYTHE MUGEN 2100 REV.B
    UBUNTU 12.04 + Win 7/64

  2. #6272
    Εγγραφή
    30-04-2008
    Μηνύματα
    3.613
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Αμα τα SIMD ηταν αχρηστα, δε θα υπηρχαν ουτε avx2, ουτε sse, ουτε mmx, ουτε τιποτα.
    Ειναι συζητησιμο κατα ποσο χρησιμα ειναι στην GPGPU εποχη. Το SIMD στους x86 πραγματι ξεκινησε με τους Pentium MMX, μονο που τοτε δεν υπηρχαν GPUs (οπου GPU = T&L και ανω), οποτε τοτε καλυπτε μια πραγματικη αναγκη (vertex transformation). Τοτε η πλειοψηφια των παιχνιδιων δουλευαν με software rendering και μετραγε πολυ η CPU. Οι 3D accelerators ηταν πιο εξωτικο φρουτο απο οτι ειναι σημερα το GPGPU. Αυτη η δουλεια σημερα γινεται γρηγοροτερα και καλυτερα σε μια GPU.

    Αν θυμαμαι καλα, η AMD ειχε πει οτι μακροπροθεσμος στοχος με τα GPGPU/APU/HSA ειναι να ξηλωθει τελειως η FPU απο την CPU και οτιδηποτε εχει να κανει με SIMD/flops, να το κανει η GPU. Ειναι συζητησιμο κατα ποσο μπορει να γινει αυτο πρακτικα ελεω backwards compatibility (σπασιμο apps που χρησιμοποιουν x87 σε i386 και SSE2 σε x86-64).

    Καποια πραγματα συνεχιζουν και εξελισσονται για λογους "παραδοσης", ποσο μαλλον οταν μιλαμε για μια εταιρια που δεν εχει κατι να παρουσιασει σε high-end GPUs (το Larrabee πηγε απατο, αλλα τους εμεινε κληρονομια το AVX-512 -> μην πανε τελειως χαμενα τα λεφτα του R&D). Δεν νομιζω να δωσει η Intel την αδεια για AVX512 στην AMD και επισης δεν νομιζω οτι η AMD εχει καμια ιδιαιτερη καψα να πουσαρει CPU flops, οταν εχει επενδυσει τοσα πολλα στο HSA (η Ιntel δεν ειναι καν μελος απο οσο θυμαμαι για καποιον περιεργο λογο). Ακομα και το γεγονος οτι σε AVX η Intel ριχνει ρολογια, θα επρεπε να σου λεει κατι για το trade-off του serial vs parallel (και στις GPUs δεν μπορεις να εχεις υψηλα ρολογια στυλ 3-4 GHz για τον ιδιο λογο, αλλα εν τελει μετραει το τελικο αποτελεσμα -> περισσοτερα flops για SIMD αλγοριθμους).

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Αν απορριπτουμε τα SIMD τοτε ποιος ο λογος να ασχολουμαστε με multithreading?
    Δεν καταλαβαινω γιατι τα συγχεεις. SIMD ειχε και ο Pentium MMX, αλλα δεν ειχε multithreading. Αλλο το ενα (με 1 εντολη να παιρνεις αποτελεσμα σε 4 κουτακια σε πραξεις γραμμικης αλγεβρας) και αλλο το αλλο (πολλαπλα CPU cores για ενα σωρο tasks, οχι μονο για SIMD). Αν ηταν το ιδιο πραγμα, ο Amdahl's law δεν θα ισχυε μονο στις CPUs και οι GPUs δεν θα εκαναν perfect scaling αναλογα με τον αριθμο ALUs που εχουν.

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Οι gpu εχουν περισσοτερα cores/threads, οτι κανουν οι cpu το κανουν καλυτερα, αρα μεχρι 4 cores και πολλα ειναι, και οτι processing work σοβαρο => στη gpu.
    Αυτη ειναι η φιλοσοφια των APUs και του HSA.

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Οτι ακριβως ισχυει για το multicore/multithreaded, ισχυει και για το simd. Αν θες παραπανω αποδοση, πρεπει ο κωδικας να αξιοποιει οτι εχει μια cpu. Αν δε την αξιοποιει, τοτε τι κανουμε? Τι νοημα εχει να καιμε ρευμα τσαμπα για να κανουμε Χ εργο σε Ψ χρονο οταν το ιδιο εργο μπορουσε να γινει σε Ψ/2 ή Ψ/4 με λιγοτερο ρευμα.
    Εξακολουθω να μην καταλαβαινω γιατι εχεις σκαλωσει με την CPU τοσο πολυ. Ειναι λογω mining? Οταν ολα τα συστηματα (ακομα και mobile) εχουν GPU πλεον, γιατι να μην τρεχει εκει ο SIMD αλγοριθμος? Θα παρεις 2-4x speedup με CPU, ενω με GPU θα παρεις 20-40x.

    Αξιοποιησε πρωτα την GPU και αν δεν σου φτανει, τοτε αξιοποιεις και την CPU. Αυτη ειναι η σωστη σειρα.

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    O miner καταλαβαινει πολυ καλα τι εστι avx γιατι βλεπει το scalar version πχ του αλγοριθμου να εχει Χ αποδοση, το avx να εχει 2x και το avx2 να εχει 4x - οποτε ξερει οτι θα παρει το avx512 και θα παει 8x.
    Ακομα δεν πηρα απαντηση γιατι οι miners προτιμουν να αγοραζουν φορτηγα GPUs και οχι CPUs.

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Και δεν ειναι ολοι οι αλγοριθμοι καταλληλοι για gpu.
    Πες μου εναν SIMD αλγοριθμο που δεν μπορει να τρεξει/γινει port σε GPGPU.

    Ακομα και network/encryption apps μπορουν να τρεξουν σε GPU:

    http://shader.kaist.edu/packetshader/ (εχει ενδιαφερον το κομματι οπου μιλαει για bottleneck λογω των buses και οχι λογω processing power)
    http://shader.kaist.edu/sslshader/

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Η λογικη του stitched pentium 1 για να φτιαξεις multicore chip, ειναι σωστη. Βασικα θα μπορουσαν να το πανε και στο 486 που εχει 1 ALU αντι 2, αλλα κρατησαν το superscalar complexity (για μενα κακως - γιατι εισαγεις ενα καρο κυκλωματα λογικης για να ελεγχουν το superscalar logic, που καινε ρευμα - ενω οταν εχεις 1 ALU, απλα εξυπηρετεις τις εντολες σε FIFO και δεν εχει reorder καθολου).
    Δηλαδη απο την μια κραζουμε τους FX για χαμηλο IPC και απο την αλλη θα ηταν καλη ιδεα να παμε σε IPC επιπεδου 486? Κατι δεν μου κολλαει εδω. Γιατι να μην παμε σε 386 αντι για 486 θα πει καποιος αλλος? Ακομα λιγοτερο complexity.

    Το complexity των συγχρονων CPUs ειναι αναγκαιο για συγκεκριμενα κομματια κωδικα. Για παραδειγμα, χωρις OoO (out-of-order) execution θα ειχες πολυ χαμηλοτερο IPC, κατι που κανει μπαμ σε in-order CPUs (π.χ. Atom, Cell).

    OoO ομως δεν θα εβαζες σε GPU, γιατι εκει ειναι αλλος ο στοχος και συνεπως πρεπει να ξοδευτει αλλιως το transistor budget. Γι' αυτο κωδικας με πολλα branches/if-then-else ειναι ακαταλληλος για GPUs. Οι GPUs ειναι για number crunching.

    Εδω το δειχνει εκλαικευμενα (serial vs parallel trade-off): https://www.youtube.com/watch?v=-P28LKWTzrI

    Ακομα και οι caches εχουν λογο υπαρξης, παρ' ολο που τρωνε αρκετα transistors: https://fgiesen.wordpress.com/2016/0...-cache-levels/

    Αυτα τα πραγματα τα ξερουν μηχανικοι (π.χ. Jim Keller) που πληρωνονται 6ψηφια ποσα τον χρονο, δεν ειναι τιποτα αμπαλοι να τους διαφευγει κατι...

    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων
    Οι cpu ειναi τραγικα undermarketed σ'αυτο το τομεα. Ουτε τα πραγματικα cores δεν μετρανε. Αυτα που "λενε" και "πουλανε" ειναι τα cores και τα threads που βλεπει το λειτουργικο - οχι τα απο "πισω" που ειναι τα πραγματικα.
    Αυτα βλεπει το OS, γιατι αυτα "παρουσιαζει" ο επεξεργαστης στον εξω κοσμο και αυτο συμβαινει για λογους BC. Αν δεν υπηρχε η απαιτηση για BC, θα μπορουσε να ξηλωθει πολυ "legacy baggage" απο την x86.

    ΥΓ: Πραγματικα αυτη η συζητηση μου φερνει dejavu απο Cell. Θυμαμαι κοσμο που ισχυριζοταν οτι ηταν πραγματικος octa-core, ενω στην πραγματικοτητα ηταν single-core και μαλιστα μετριων επιδοσεων (χειροτερος απο Pentium 4 του 2004). Αλλα να εχουμε φτασει στο 2017 και να μην μπορουμε να ξεχωρισουμε τα πραγματικα CPU cores απο τα vector units και για ποια δουλεια ενδεικνυται το καθενα?

  3. #6273
    Εγγραφή
    12-11-2005
    Ηλικία
    40
    Μηνύματα
    13.492
    Downloads
    12
    Uploads
    0
    Ταχύτητα
    998/16600
    ISP
    Tellas
    DSLAM
    Wind - ΠΕΡΙΣΤΕΡΙ
    Router
    Asus N17U <-rules
    SNR / Attn
    8.0(dB) / 26(dB)
    Path Level
    Interleaved
    Παράθεση Αρχικό μήνυμα από MNP-10 Εμφάνιση μηνυμάτων


    Βασικα το τεραστιο αλμα το καναν τα avx-512 αλλα ολοι βολικα τα αγνοουν.

    Skylake-X
    Spoiler:

    AVX-512
    VADDPS zmm, zmm, zmm L: 1.21ns= 4.0c T: 0.16ns= 0.54c = 1.85 πραξεις/cycle x 16 αποτελεσματα single precision = 29.6 flops/cycle
    VADDPD zmm, zmm, zmm L: 1.21ns= 4.0c T: 0.16ns= 0.54c = 1.85 πραξεις/cycle x 8 αποτελεσματα double precision = 14.8 flops/cycle
    VPADDQ zmm, zmm, zmm L: 0.30ns= 1.0c T: 0.15ns= 0.50c = 2 πραξεις/cycle x 8 αποτελεσματα 64bit ακεραιους = 16 αποτελεσματα uint64/cycle

    AVX-2
    VADDPS ymm, ymm, ymm L: 1.21ns= 4.0c T: 0.15ns= 0.50c = 2 πραξεις/cycle x 8 αποτελεσματα single precision = 16 flops/cycle
    VADDPD ymm, ymm, ymm L: 1.21ns= 4.0c T: 0.15ns= 0.50c = 2 πραξεις/cycle x 4 αποτελεσματα double precision = 8 flops/cycle
    VPADDQ ymm, ymm, ymm L: 0.30ns= 1.0c T: 0.10ns= 0.34c = 2.94 πραξεις/cycle x 4 αποτελεσματα 64 bit ακεραιων = 11.76 αποτελεσματα uint64/cycle


    Ryzen

    AVX-2
    VADDPS ymm, ymm, ymm L: 0.83ns= 3.0c T: 0.28ns= 1.00c = 1 πραξη/cycle x 8 αποτελεσματα single precision = 8 flops/cycle
    VADDPD ymm, ymm, ymm L: 0.83ns= 3.0c T: 0.28ns= 1.00c = 1 πραξη/cycle x 4 αποτελεσματα double precision = 4 flops/cycle
    VPADDQ ymm, ymm, ymm L: 0.28ns= 1.0c T: 0.18ns= 0.67c = 1.49 πραξεις/cycle x 4 αποτελεσματα 64 bit ακεραιων = 5.96 αποτελεσματα uint64 / cycle


    Ενας skylake-x με avx512 στα 4ghz βγαζει 118.4gflop μονης ακριβειας, με avx2 βγαζει 64gflops και ο ryzen με avx2 βγαζει 32gflops. Τα νουμερα ειναι σχεδον /2 για τα διπλης ακριβειας.

    Σε integer o skylake με avx512 στα 4ghz παραγει 16 προσθεσεις/cycle σε 64bit αριθμους, δλδ 64δις αποτελεσματα. Σε avx2 παραγει 47 δις αποτελεσματα και ο ryzen στα 4 ghz παραγει 23.84 δις.

    Αυτα βγαινουν με βαση τα μετρημενα throughput των 2 αρχιτεκτονικων, per core παντα.

    http://users.atw.hu/instlatx64/Genui...InstLatX64.txt
    http://users.atw.hu/instlatx64/Authe...InstLatX64.txt

    Αν τωρα ενα rendering προγραμμα για παραδειγμα εχει "παρομοιες" επιδοσεις per core για ιδια gigahertz, κατι δεν εχει κανει καλα ο προγραμματιστης του... Οταν εχεις απ'τη μια core με 120gflop και απ'την αλλη 32gflop, υπαρχει "θεμα".

    Κοιτα εγω μαζι σου ειμαι. Ειμαι 100% υπερ του να κανει ο επεξεργαστης 100 δουλειες σε ενα κυκλο.

    Το προβλημα ομως ειναι οτι η ιδια η Intel εχει κανει πολυ επιθετικο market segmentation, με αποτελεσμα το higher end AVX να ειναι προσβασιμο μονο στους επισης higher end επεξεργαστες, με τις αναλογες απαιτησεις σε μητρικη μνημες κλπ.

    Κοιτα ποσοι επεξεργατσες εχουν AVX 512.

    Αν βγει ο Coffeelake και εχει ενεργοποιημενο το subset, απο τον Pentium μεχρι τον Core i7, τοτε κατι θα κανουμε και τοτε θα ασχοληθει και ο εκαστοτε προγραμματιστης να χρησιμοποιησει αυτες τις εντολες. Ασε που εχουν κοστος και σε καταναλωση. Κατι που δεν αρεσει καθολου στα laptops, που καλως η κακως εχουν τεραστιο μεριδιο αγορας για τους απλους χρηστες.

    Αυτο το μειονεκτημα η AMD το καταπολεμαει πουλωντας περισσοτερους cores αντι για δυνατοτερους. Χωρις αυτο να σημαινει οτι ειναι αδυναμοι, οπως του μπουλντοζα.

    Πχ σε AVX sensitive operations οπως το HEVC encoding ο οκταπυρηνος 1700 ειναι λιγο πιο αργος απο τον τετραπυρηνο 7700Κ.

    Πατήστε στην εικόνα για να τη δείτε σε μεγέθυνση. 

Όνομα:  85887.png 
Εμφανίσεις:  12 
Μέγεθος:  45,8 KB 
ID: 185231


    Αλλα σε αλλα που χρησιμοποιουν πιο βατες εντολες σε συνδυασμο με καλυτερο multi threading, η διαφορα υπερ του Ryzen ειναι ακομα μεγαλυτερη.

    Πατήστε στην εικόνα για να τη δείτε σε μεγέθυνση. 

Όνομα:  85881.png 
Εμφανίσεις:  20 
Μέγεθος:  43,7 KB 
ID: 185232

    Συνεπως ερχομαστε στο square one και στο οτι ο καθενας αγοραζει με βαση τις αναγκες του. Δεν υπαρχει το τελειο. Τελειος θα ειναι μονο ο Coffeelake 8700k!

    Και μονο παντως που εχουμε φτασει να κανουμε ΣΥΓΚΡΙΣΗ AMD vs Intel ειναι τεραστιο βημα. Ακομα χειροτερα δε, στο οτι η AMD κερδιζει στα μισα benchmarks μετα απο δε ξερω και γω ποσα χρονια, με κανει να ειμαι.
    PC1 CPU:i5-2500k, GPU:1070 KFA2 EX,RAM::16GB DDR3,MOBO:AsrockP76Extreme6,SSD:SandiskExtremePro240GB
    PC2 CPU:i7-860,GPUs:970 G1,RAM::12GB DDR3,MOBO:MSI Big BangTrinergy,SSD:CorsairGT120GB
    Spares: 7950WF3,GTX 570,HD5850,HD3870
    Androids: Xiaomi Redmi 2 Note Prime,LenovoK3Note,Beelink X2,CX-919,Cube U30-GT,MK-806 mini PC,ZTE Carl
    Reviews: ATI 4870X2, ΑΤΙ 4850,test GTX 970 σε 3 CPUs

  4. #6274
    Εγγραφή
    29-06-2005
    Μηνύματα
    13.642
    Downloads
    4
    Uploads
    0
    Άρθρα
    4
    ISP
    .
    Παράθεση Αρχικό μήνυμα από uncharted Εμφάνιση μηνυμάτων
    Ειναι συζητησιμο κατα ποσο χρησιμα ειναι στην GPGPU εποχη.
    Βασικα δεν ειναι συζητησιμο. Απαραιτητα ειναι. Για ολες τις χρησεις, απο ενα κινητο τηλεφωνο (neon στα arm) ως τα server. Εκτος αν καποιος θελει να σερνεται, οπότε, οκ, πασο

    Το SIMD στους x86 πραγματι ξεκινησε με τους Pentium MMX, μονο που τοτε δεν υπηρχαν GPUs (οπου GPU = T&L και ανω), οποτε τοτε καλυπτε μια πραγματικη αναγκη (vertex transformation). Τοτε η πλειοψηφια των παιχνιδιων δουλευαν με software rendering και μετραγε πολυ η CPU. Οι 3D accelerators ηταν πιο εξωτικο φρουτο απο οτι ειναι σημερα το GPGPU. Αυτη η δουλεια σημερα γινεται γρηγοροτερα και καλυτερα σε μια GPU.
    Δεν ειναι μονο αυτο. Οταν μπηκαν τα MMX και SSE, εδωσαν 64 bit και 128bit registers σε μια 32bit αρχιτεκτονικη. Πιο πριν οι 64 bit πραξεις επρεπε να σπανε σε κομματια των 32 bit που ετρωγαν υπερδιπλασιο χρονο, ενω με mmx + sse οι εντολες γινονταν map πανω σε native 80-bit επεξεργαστη (την FPU) και εκανες παρτυ. Επιπλεον στα 32 bit ειχες 8 registers, εκ των οποιων τα 3-4 συνηθως ηταν πιασμενα δειχνοντας σε διευθυνσεις, και δε σου μενε τιποτα για να επεξεργαζεσαι δεδομενα. Ειχες τρελο register pressure και αναγκαζοσουν συνεχεια σε load απ'τη μνημη, process, write στη μνημη, και μαλιστα με απολυτα σειριακο τροπο - γιατι απλα δεν σου περισσευαν registers. Τα MMX+SSE registers εδωσαν λυση γιατι ξαφνικα απ'τα 8 πηγες στα 8+8+8 (τα mmx και sse ειχαν διαφορετικο register file), στη πραξη πες 4+8+8. Μπορουσες να γραψεις ολοκληρο function μεσα σε mmx και να γινεται call/return χωρις ουτε 1 push/pop.

    Το πρωτο βημα ελαφρυνσης εγινε στο x64 με 16 registers και 16 στα SSE. Εκτοτε η μονη αυξηση που ειχαμε ειναι στο avx512 που πλεον εχει παει τους SSE/AVX registers στους 32. Με 32x512 bit, εχεις 2kbyte (!!) δεδομενων ανα πασα στιγμη επανω στους registers.

    Αν θυμαμαι καλα, η AMD ειχε πει οτι μακροπροθεσμος στοχος με τα GPGPU/APU/HSA ειναι να ξηλωθει τελειως η FPU απο την CPU και οτιδηποτε εχει να κανει με SIMD/flops, να το κανει η GPU. Ειναι συζητησιμο κατα ποσο μπορει να γινει αυτο πρακτικα ελεω backwards compatibility (σπασιμο apps που χρησιμοποιουν x87 σε i386 και SSE2 σε x86-64).
    Απο στοχους η amd καλα τα παει αλλα η πραγματικοτητα ειναι οτι πουλαει τσιπ γυμνα απο GPU.

    Καποια πραγματα συνεχιζουν και εξελισσονται για λογους "παραδοσης", ποσο μαλλον οταν μιλαμε για μια εταιρια που δεν εχει κατι να παρουσιασει σε high-end GPUs (το Larrabee πηγε απατο, αλλα τους εμεινε κληρονομια το AVX-512 -> μην πανε τελειως χαμενα τα λεφτα του R&D). Δεν νομιζω να δωσει η Intel την αδεια για AVX512 στην AMD και επισης δεν νομιζω οτι η AMD εχει καμια ιδιαιτερη καψα να πουσαρει CPU flops, οταν εχει επενδυσει τοσα πολλα στο HSA (η Ιntel δεν ειναι καν μελος απο οσο θυμαμαι για καποιον περιεργο λογο).
    Η αλλαγη προγραμματιστικου μοντελου σε cpu/gpu δεν ειναι τοσο ευκολη οσο το να γραψεις ενα προγραμμα και να το κανεις compile με avx flags. Ουτε εχει το ιδιο marketshare γιατι ειναι μια αγορα στα σπαργανα. Μιλαμε για πραγματα που θαααααααα γινουν, αν γινουν ποτε - γιατι ειπαμε η amd ουτε καν gpu δε βαζει στα τσιπ της, ενω η intel τουλαχιστον βαζει.

    Ακομα και το γεγονος οτι σε AVX η Intel ριχνει ρολογια, θα επρεπε να σου λεει κατι για το trade-off του serial vs parallel (και στις GPUs δεν μπορεις να εχεις υψηλα ρολογια στυλ 3-4 GHz για τον ιδιο λογο, αλλα εν τελει μετραει το τελικο αποτελεσμα -> περισσοτερα flops για SIMD αλγοριθμους).
    Δε λεει κατι ιδιαιτερο, περα απ'το γεγονος οτι η intel εχει καθυστερησει να κατεβει στα 10nm και καιει περισσοτερο ρευμα απ'οσο χρειαζεται.

    Δεν καταλαβαινω γιατι τα συγχεεις. SIMD ειχε και ο Pentium MMX, αλλα δεν ειχε multithreading. Αλλο το ενα (με 1 εντολη να παιρνεις αποτελεσμα σε 4 κουτακια σε πραξεις γραμμικης αλγεβρας) και αλλο το αλλο (πολλαπλα CPU cores για ενα σωρο tasks, οχι μονο για SIMD). Αν ηταν το ιδιο πραγμα, ο Amdahl's law δεν θα ισχυε μονο στις CPUs και οι GPUs δεν θα εκαναν perfect scaling αναλογα με τον αριθμο ALUs που εχουν.
    Υπαρχουν 2 ειδων multithreading.

    Το ενα ειναι του στυλ, στο 1 thread τρεχει το youtube, στο αλλο τρεχει το mp3. Δλδ καθημερινο multitasking οπου τα tasks κανουν map σε different threads.

    Το αλλο multithreading ειναι αυτο με το οποιο θελουν να κανουν scale τις εφαρμογες, κανοντας assign πολλαπλα threads, μεσα απ'την ιδια εφαρμογη, σε πολλαπλα κομματια δεδομενων που πρεπει να επεξεργαστουν.

    Το 2ο ειδος multithreading εχει παραλληλισμο με τα SIMD, οχι το πρωτο. Το multithreading ενος encoding/compression/encryption/hashing library ειναι στις περισσοτερες περιπτωσεις ισοδυναμο με το multi-streaming. Αντι να πεις, το καθε thread απ'τα 8 θα παρει 1 hash, λες το καθε thread θα παρει πακετο 8 hashes in parallel, και ετσι στα 8 threads αντι για 8 hashes παραλληλα θα κανω 64 hashes. Μπορεις βεβαια να καις και ρευμα τσαμπα κανοντας 1 hash / thread και να ικανοποιεισαι βλεποντας οτι η cpu ειναι στο "100%", οτι "δουλευει ολα τα thread", και να λες, πωπω κομματια παει


    Εξακολουθω να μην καταλαβαινω γιατι εχεις σκαλωσει με την CPU τοσο πολυ. Ειναι λογω mining? Οταν ολα τα συστηματα (ακομα και mobile) εχουν GPU πλεον, γιατι να μην τρεχει εκει ο SIMD αλγοριθμος? Θα παρεις 2-4x speedup με CPU, ενω με GPU θα παρεις 20-40x.
    Ξαναλεω, δεν ειναι ολοι οι αλγοριθμοι το ιδιο.


    Ακομα δεν πηρα απαντηση γιατι οι miners προτιμουν να αγοραζουν φορτηγα GPUs και οχι CPUs.
    Δεν υπαρχει ομοιομορφια στο miner's market. Ειναι αναλογα τι κανεις mine. Αλλοι κανουν mine με ASICs και εχουν φτιαξει τεραστια "εργοστασια" / mining farms που βασιζονται σε ASIC. Αλλοι κανουν mine cpu-only αλγοριθμους. Αλλοι κανουν mine με ...FPGA... και αλλοι με GPU γιατι για συγκεκριμενα coins αυτο ειναι το πιο βολικο.

    Πες μου εναν SIMD αλγοριθμο που δεν μπορει να τρεξει/γινει port σε GPGPU.
    Δεν ειναι θεμα porting, ειναι θεμα παραμετρων. Πχ ενας mining αλγοριθμος μπορει να εχει ενα μεγαλο memory scratchpad, εκατονταδες megabyte, ή ακομα και gigabytes, ωστε να ειναι ram-constrained αντι processing-constrained. Και αυτο γινεται ΕΣΚΕΜΜΕΝΑ ωστε να υπαρξει ενα σχετικο asic-proofness, και μεγαλυτερο balance μεταξυ cpu/gpu mining. Επισης μπορει να χρησιμοποιει ΕΣΚΕΜΜΕΝΑ hardware accelerated cpu instructions για τις οποιες η gpu απλα δεν εχει υποστηριξη - και αρα θα πρεπει να κανει emulate.

    Δηλαδη απο την μια κραζουμε τους FX για χαμηλο IPC και απο την αλλη θα ηταν καλη ιδεα να παμε σε IPC επιπεδου 486? Κατι δεν μου κολλαει εδω. Γιατι να μην παμε σε 386 αντι για 486 θα πει καποιος αλλος? Ακομα λιγοτερο complexity.
    Το 486 το λεω απ'την αποψη του 1 integer pipeline, ουτε της συχνοτητας, ουτε των νανομετρων, ουτε των τεχνολογιων 20ετιας που εφαρμοζουν.

    Το 486 δουλευε μονιμως στο 100% γιατι με 1 ALU ηταν guaranteed οτι αυτο θα δουλευει συνεχεια. Δε γινοταν αλλιως. Οταν τα ALU αυξηθηκαν σε 2 σε 3 σε 4, ο κωδικας επρεπε να ξαναγραφτει. Το πρωτο προβλημα του pentium ηταν ακριβως αυτο: Ξαφνικα επρεπε να γραφεις με λογικη superscalar. Αντι μια σειριακη προσθεση οπου α=α+β+γ+δ+ε+ζ, επρεπε να παρεις (α+β)+(γ+δ)+(ε+ζ), κτλ κτλ ωστε να κανει 2 προσθεσεις μαζι. Εν ετος 2017, κοντευουμε 2018, ο gcc 7.2 (που ειναι καλος compiler) κανει ακομα generate σειριακο κωδικα σε προσθεσεις και γελαει ο κοσμος.

    Αν θες λοιπον να φτιαξεις ενα πυριτιο που ολο θα δουλευει guaranteed αναλογα ποσο φορτο του στελνεις, το ιδανικο ειναι να εχεις 1 ALU per core. Το 2ο/3ο/4ο κατα πασα πιθανοτητα θα καθεται εκτος αν ολος ο κωδικας ειναι γραμμενος σε 3 ή 4 virtual streams οπου εχεις

    <εντολη για τη 1η ακολουθια>
    <εντολη για τη 2η ακολουθια>
    <εντολη για τη 3η ακολουθια>
    <εντολη για τη 4η ακολουθια>
    <εντολη για τη 1η ακολουθια>
    <εντολη για τη 2η ακολουθια>
    <εντολη για τη 3η ακολουθια>
    <εντολη για τη 4η ακολουθια>

    ... ωστε να παιρνει 4 μαζι σε καθε εντολη, κανοντας assign την καθε εντολη σε ξεχωριστο ALU. Αν κανεις ενα objdump -d εκτελεσιμο >temp.txt και ανοιξεις το temp.txt θα δεις οτι ουδεμια σχεση εχει ο κωδικας που τρεχουμε με τετοια λογικη. Προσπαθει ο compiler αλλα ουτε καν. Και αν εχεις και σειριακο κωδικα οπου το ενα αποτελεσμα περιμενει το αλλο, αστο... απ'τα 4 alu, δουλευει το 1 και αυτο με lag.

    Αρα αμα θες το πυριτιο που εχεις φτιαξει να δουλευει στο 100%, ολη την ωρα, ανεξαρτητως κωδικα, το 1 ALU per core ειναι μονοδρομος. Και στα καπακια 2πλασιαζεις το core count.

    Το complexity των συγχρονων CPUs ειναι αναγκαιο για συγκεκριμενα κομματια κωδικα. Για παραδειγμα, χωρις OoO (out-of-order) execution θα ειχες πολυ χαμηλοτερο IPC, κατι που κανει μπαμ σε in-order CPUs (π.χ. Atom, Cell).
    Δε τους νοιαζει το ipc. Βαλανε 2πλους πυρηνες και αναπληρωνουν απο multicore performance. Αν ειχαν supersized cores με διπλασια ALU κτλ κτλ θα ειχαν τους μισους πυρηνες στα ιδια watt. Γιατι να το κανουν αυτο? Δε τους ενδιαφερει.

    Αυτα τα πραγματα τα ξερουν μηχανικοι (π.χ. Jim Keller) που πληρωνονται 6ψηφια ποσα τον χρονο, δεν ειναι τιποτα αμπαλοι να τους διαφευγει κατι...
    Μηχανικοι ειναι της ιντελ, μηχανικοι ειναι της apple, μηχανικοι ειναι και της amd. Και ομως αυτοι ολοι που "ξερουν", ο καθενας παιρνει διαφορετικες αποφασεις ακομα και για το ιδιο ακριβως θεμα. Πχ ποση L1 Ins cache να εχει το τσιπ. Η amd και η apple λεει 64, η intel λεει 32. Η intel λεει εγω θα βαλω 32 και θα εχω uop decoder cache, η amd ελεγε εγω βαζω 64 και δεν εχω decoder cache. Τωρα ανακαλυψε τη decoder cache μετα απο 10 χρονια και κρατησε και τα 64. Η ιντελ ακομα 32. Τα ιδια με τα L2/L3 eviction vs inclusive caches... μια ετσι, μια αλλιως. Τα ιδια με τους συγκολημμενους πυρηνες vs monolithic, μια ετσι μια αλλιως. Ποιοι "το βρηκαν" και σε ποιους "διεφυγε". Ποιοι ξερουν μπαλα και ποιοι ειναι αμπαλοι?

    - - - Updated - - -

    Παράθεση Αρχικό μήνυμα από psolord Εμφάνιση μηνυμάτων
    Κοιτα εγω μαζι σου ειμαι. Ειμαι 100% υπερ του να κανει ο επεξεργαστης 100 δουλειες σε ενα κυκλο.

    Το προβλημα ομως ειναι οτι η ιδια η Intel εχει κανει πολυ επιθετικο market segmentation, με αποτελεσμα το higher end AVX να ειναι προσβασιμο μονο στους επισης higher end επεξεργαστες, με τις αναλογες απαιτησεις σε μητρικη μνημες κλπ.
    Ειναι υπεροπλο... εγω θελω να πιστευω οτι επειδη παραδοσιακα το marketing της intel ηθελε να εχει +1 ins set πιο πανω απ'την amd στα ραφια, και επειδη πλεον η amd δινει avx2 παντου, ΙΣΩΣ να το σκεφτουν να το δωσουν και σε i5/i3. Ισως. Αν δε το κανουν με τη καφετιερα, θα το κανουν στο κανονι Καποια στιγμη πρεπει να γινει...

    Αν βγει ο Coffeelake και εχει ενεργοποιημενο το subset, απο τον Pentium μεχρι τον Core i7, τοτε κατι θα κανουμε και τοτε θα ασχοληθει και ο εκαστοτε προγραμματιστης να χρησιμοποιησει αυτες τις εντολες. Ασε που εχουν κοστος και σε καταναλωση. Κατι που δεν αρεσει καθολου στα laptops, που καλως η κακως εχουν τεραστιο μεριδιο αγορας για τους απλους χρηστες.
    Βασικα εχει λιγο μυθο αυτο μεσα, γιατι ανεβαινει δραματικα το perf/cycle και κατα συνεπεια το perf/watt και μειωνεται το watt use για συγκεκριμενο επεξεργαστικο εργο. Αν το Χ εργο τελειωνει πχ 3 φορες πιο γρηγορα και ο επεξεργαστης επιστρεφει σε idle, αυτο που μετραει δεν ειναι το τι δειχνει ο μετρητης της πριζας στο peak αλλα το ποσο ρευμα εκαψες συνολικα για να κανεις το εργο που ηθελες.

    Συνεπως ερχομαστε στο square one και στο οτι ο καθενας αγοραζει με βαση τις αναγκες του. Δεν υπαρχει το τελειο. Τελειος θα ειναι μονο ο Coffeelake 8700k!
    Εγω να σου πω την αληθεια δε τα χρειαζομαι/καιγομαι αυτη τη στιγμη, αλλα ουτε και τα avx2 χρειαζομουν οταν πηρα sse4.1 cpu και μετα εβλεπα οτι δε μπορω να τρεξω κατι mining software που μ'ενδιεφεραν και να εχω ενα Α βαθμο αποτελεσματικοτητας. Δλδ τα θεωρω οτι εφοσον δωθουν ειναι ενα στοιχειο future-proofing για να σε βγαλει καποια χρονια παραπανω.
    Τελευταία επεξεργασία από το μέλος MNP-10 : 11-08-17 στις 18:48.

  5. #6275
    Εγγραφή
    30-04-2008
    Μηνύματα
    3.613
    Downloads
    0
    Uploads
    0
    @MNP10

    Αυτη την στιγμη το GPGPU εχει δραματικα μεγαλυτερο marketshare απο το AVX512 (μονο high-end Intel CPUs). Μεχρι και οι malware programmers πηραν πρεφα το τεραστιο install base των GPUs και πλεον τις κανουν target για πιο αποδοτικο mining. Καλυτερη αποδειξη απο αυτο δεν υπαρχει.

    Τα παραπονα σου θα πρεπει να τα κατευθυνεις στην Intel που δεν το βαζει και στους Celeron (ενω μπορει). Οι προγραμματιστες δεν εχουν κανενα λογο να κανουν target ενα niche instruction set. Εδω σε PC games δεν υποστηριζουν SSE4.1 (Penryn) επειδη δεν υπαρχει σε κατι αρχαιους Phenom. Για AVX512 θα περιμενεις πολυυυυυυ ακομα, αν γινει ποτε mainstream...

    Για τα bits, ξαναγυρναμε στα του marketing. Μεχρι και τα Dreamcast/PS2 ειχαμε τα περιφημα bit wars (128-bit τα εν λογω vector units). Εκτοτε επαψαν να εχουν σημασια. Οι Maxwell εχουν 512-bit registers και κανεις δεν τις προμοταρει ως 512-bit processors. Ειναι παραπλανητικο, μιας και συνηθως αναφερομαστε στο addressing με τα bits και οχι στο vector unit width. Αναγκη για 128-bit addressing ισως και να μην υπαρξει ποτε.

    Τα registers ειναι γνωστο οτι ειναι περισσοτερα, αλλο αν δεν φαινονται ολα προς τα εξω.

    Τα datasets δεν ειναι προβλημα οταν οι GPUs πλεον ευκολα εχουν 8GB GDDR5/HBM2, που συν τοις αλλοις εχουν και πολλαπλασιο memory bandwidth απο τις DDR των CPU, πραγμα ιδανικο για παραλληλισμο. Τι ακριβως δεν μπορεις να χωρεσεις σε 8GB (π.χ. RX 480)? Η ISA της Vega εχει μεχρι και ειδικες εντολες για mining (που δεν υπαρχουν σε CPU). Ξαναλεω, θα δυσκολευτεις πολυ να βρεις SIMD αλγοριθμο που δεν μπορει να γινει port σε GPGPU (το οτι δεν το εχει κανει καποιος μεχρι τωρα για το ταδε, δεν σημαινει οτι δεν γινεται)... ουτε το Bitcoin ξεκινησε απο GPUs. Παντα η ευκολη τεμπελικη λυση να ξεκινησεις να γραψεις κατι ειναι η CPU (40 χρονια φουρναρης vs 10 για το GPGPU). Δεν ειμαστε ομως και στο 2007 που τα Compute shaders ηταν εξωτικο φρουτο για λιγους.

    Οι Ryzen θα αποκτησουν GPU οταν πεσουν τα nm. Ακομα ειναι νωρις.

    Στο "δεν τους ενδιαφερει το IPC" ειλικρινα δεν ξερω τι να σου απαντησω, αν το πιστευεις πραγματικα αυτο δηλαδη. Ακομα κι αν δεν νοιαζονται οι μηχανικοι τους (αυτοι που σχεδιασαν τον Ryzen), σιγουρα το PR department θα νοιαζοταν πολυ να κανει 50% -> 250% IPC increase (αν ηταν τεχνικα εφικτο) με περισσοτερες ALUs. Αν ειναι τοσο απλο, γιατι να μην στειλουμε μια μαζικη επιστολη στην AMD με τις προτασεις μας? Δεν θα τους χαλασει να ανοιξει δραματικα η ψαλιδα με την Intel.

  6. #6276
    Εγγραφή
    29-06-2005
    Μηνύματα
    13.642
    Downloads
    4
    Uploads
    0
    Άρθρα
    4
    ISP
    .
    Παράθεση Αρχικό μήνυμα από uncharted Εμφάνιση μηνυμάτων
    Τα παραπονα σου θα πρεπει να τα κατευθυνεις στην Intel που δεν το βαζει και στους Celeron (ενω μπορει). Οι προγραμματιστες δεν εχουν κανενα λογο να κανουν target ενα niche instruction set. Εδω σε PC games δεν υποστηριζουν SSE4.1 (Penryn) επειδη δεν υπαρχει σε κατι αρχαιους Phenom. Για AVX512 θα περιμενεις πολυυυυυυ ακομα, αν γινει ποτε mainstream...
    Δε χρειαζεται να κανουν target... multipath code. If cpuid=ταδε, jmp το ταδε.

    Τα datasets δεν ειναι προβλημα οταν οι GPUs πλεον ευκολα εχουν 8GB GDDR5/HBM2, που συν τοις αλλοις εχουν και πολλαπλασιο memory bandwidth απο τις DDR των CPU, πραγμα ιδανικο για παραλληλισμο. Τι ακριβως δεν μπορεις να χωρεσεις σε 8GB (π.χ. RX 480)? Η ISA της Vega εχει μεχρι και ειδικες εντολες για mining (που δεν υπαρχουν σε CPU). Ξαναλεω, θα δυσκολευτεις πολυ να βρεις SIMD αλγοριθμο που δεν μπορει να γινει port σε GPGPU (το οτι δεν το εχει κανει καποιος μεχρι τωρα για το ταδε, δεν σημαινει οτι δεν γινεται)...
    Το προβλημα δεν ειναι στο port, ειναι στα memory-hard mining tasks: https://github.com/tromp/cuckoo

    Στο "δεν τους ενδιαφερει το IPC" ειλικρινα δεν ξερω τι να σου απαντησω, αν το πιστευεις πραγματικα αυτο δηλαδη. Ακομα κι αν δεν νοιαζονται οι μηχανικοι τους (αυτοι που σχεδιασαν τον Ryzen), σιγουρα το PR department θα νοιαζοταν πολυ να κανει 50% -> 250% IPC increase (αν ηταν τεχνικα εφικτο) με περισσοτερες ALUs. Αν ειναι τοσο απλο, γιατι να μην στειλουμε μια μαζικη επιστολη στην AMD με τις προτασεις μας? Δεν θα τους χαλασει να ανοιξει δραματικα η ψαλιδα με την Intel.
    Εστω

    2 cpu cores με 4 ALUs
    vs
    4 cpu cores με 2 ALUs

    Το πρωτο απαιτει ιδανικες συνθηκες κωδικα για να εχει 4ins/cycle throughput per core (ανυπαρκτες πραγματικες εφαρμογες τετοιου στυλ), το δευτερο θα ειναι σχεδον συνεχεια τιγκα στα pipelines επιτυγχανοντας χρηση μεταξυ 1.5 και 1.8 ALU σε συνεχη βαση.

    Οποτε το να εχεις 4 cores που σου δινουν πχ 1.6 - 1.8 ins/cycle αντι 2 cores που σου δινουν 2.0-2.5ins/cycle ειναι win.

    Το αλλο σκελος του IPC αφορα το ποσο γρηγορα τελειωνει μια εντολη το ALU. Πχ αν ενας πολλαπλασιασμος θελει 3 cycles ή 10 cycles. Σ'αυτο παντα καταβαλλεται η μεγιστη προσπαθεια για να ειναι οσο το δυνατον λιγοτερο και δε παιζει ρολο ο αριθμος των ALU.

    - - - Updated - - -

    Παράθεση Αρχικό μήνυμα από psolord Εμφάνιση μηνυμάτων
    Αλλα σε αλλα που χρησιμοποιουν πιο βατες εντολες σε συνδυασμο με καλυτερο multi threading, η διαφορα υπερ του Ryzen ειναι ακομα μεγαλυτερη.

    Πατήστε στην εικόνα για να τη δείτε σε μεγέθυνση. 

Όνομα:  85881.png 
Εμφανίσεις:  20 
Μέγεθος:  43,7 KB 
ID: 185232
    Κατεβασα το cinebench και το εκανα disassemble να δω τις εντολες που στελνει στον επεξεργαστη. Εβαλα για keyword ymm, που ειναι το ονομα των avx registers. Εκτος απο 5-6 πραξεις στο 99% του αρχειου, δεν εχει τιποτα μεσα. Ολα απλες εντολες και SSE με instruction set 15ετιας.

    Τωρα καταλαβα γιατι το φεβρουαριο ολα τα leaks δειχνανε cinebench και cinebench. Γιατι το cinebench ειναι ο πατος του πατου απο αποψη hardware utilization. Και αυτο το προγραμμα τωρα βασιζεται σε επαγγελματικο προγραμμα για στουντιο κτλ? Τι διαλο, μαζοχες ειναι οι content creator να θελουν να rendαρουν σε 2-4-8x χρονους?

  7. #6277
    Το avatar του μέλους WAntilles
    Το μέλος WAntilles δεν είναι συνδεδεμένο Ελληνική Σοβιετική Συριζαϊκή Δημοκρατία aDSLgr Honouree
    Εγγραφή
    02-11-2003
    Περιοχή
    40-65N 22-9E
    Ηλικία
    42
    Μηνύματα
    54.285
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    51200/5120
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΒΑΡΝΑΣ
    Router
    ZTE Speedport Entry 2i
    Path Level
    Fastpath
    Με τους πάντες διορισμένους στο δημόσιο, για πάντα, ακούνητους, για μια ζωή.

Σελίδα 419 από 419 ΠρώτηΠρώτη ... 399409414417418419

Παρόμοια Θέματα

  1. Μηνύματα: 65
    Τελευταίο Μήνυμα: 25-02-08, 21:35
  2. Μηνύματα: 0
    Τελευταίο Μήνυμα: 12-12-07, 07:06
  3. Μηνύματα: 195
    Τελευταίο Μήνυμα: 16-10-07, 01:35
  4. Μηνύματα: 5
    Τελευταίο Μήνυμα: 03-11-05, 19:47

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας