17,970 matches
-
puțin ca GP²) este tehnica de utilizare a unui GPU, care de obicei manevrează calculul doar pentru grafica pe calculator, pentru a efectua calcul în aplicații tratate de obicei de microprocesor. Acest lucru este posibil prin adăugarea de etape de programare și aritmetică de mare precizie la pipeline-urile de randare, ceea ce permite dezvoltatorilor software să utilizeze procesarea în flux asupra datelor non-grafice. Funcționalitatea GPU a fost, în mod tradițional, foarte limitată. De fapt, timp de mai mulți ani GPU a fost
GPGPU () [Corola-website/Science/322733_a_324062]
-
lucru într-un mod util, și datorită performanței sporite, instrucțiunile vector (SIMD) au fost mult timp disponibile pe microprocesoare. În luna Noiembrie 2006 NVidia a lansat CUDA, un SDK și un API care permit unui programator să utilizeze limbajul de programare C pentru a crea algoritmi pentru execuție pe GPU-urile seriei Geforce 8. AMD oferă un similar SDK+API pentru GPU-urile bazate pe ATI, acest SDK și tehnologia sunt denumite FireStream SDK (inițial o interfață hardware subțire numită Close
GPGPU () [Corola-website/Science/322733_a_324062]
-
calculul de precizie unică pe 32 de biți; calculul de dublă precizie pe 64 de biți execută mult mai încet. GPU-urile sunt proiectate în mod specific pentru grafică și de aceea sunt foarte restrictive în termeni de operații și programare. Datorită naturii lor, GPU-urile sunt eficiente doar pentru abordarea problemelor care pot fi rezolvate utilizând procesarea în flux și hardware ce poate fi folosit în anumite moduri. GPU-urile pot procesa doar noduri și fragmente independente, dar poate procesa
GPGPU () [Corola-website/Science/322733_a_324062]
-
a identifica o destinație selectată, dar nimeni nu știe unde va ajunge nava în urma unei setări anume sau cât va dura călătoria. Odată început zborul, nu s-a mai auzit de niciun om care a reușit să modifice setările. Majoritatea programărilor duc navele în zone nefolositoare sau letale, dar câteva conduc la artefacte Heechee și planete locuibile care îi îmbogățesc pe pasageri (și pe Corporația Porții, care administrează asteroidul în numele unui cartel al țărilor). Navele au trei formate standard, care pot
Poarta (roman) () [Corola-website/Science/322742_a_324071]
-
11 noiembrie 2006 în Japonia, consola celor de la Sony s-a lovit în prima parte a existenței sale de probleme cu portarea de pe alte platforme a jocurilor sau cu dezvoltarea exclusiv a acestora pentru PlayStation 3 datorită modului complicat de programare a procesorului Cell. La început, programatorii au întâmpinat dificultăți în programarea și optimizarea pentru folosirea la maxim a resurselor disponibile în dezvoltarea de jocuri. Aceasta a fost și principala critică adusă procesorului, însă în prezent aceste probleme au fost depășite
Cell (procesor) () [Corola-website/Science/322782_a_324111]
-
lovit în prima parte a existenței sale de probleme cu portarea de pe alte platforme a jocurilor sau cu dezvoltarea exclusiv a acestora pentru PlayStation 3 datorită modului complicat de programare a procesorului Cell. La început, programatorii au întâmpinat dificultăți în programarea și optimizarea pentru folosirea la maxim a resurselor disponibile în dezvoltarea de jocuri. Aceasta a fost și principala critică adusă procesorului, însă în prezent aceste probleme au fost depășite și unele jocuri video dezvoltate exclusiv pentru PlayStation 3 au impresionat
Cell (procesor) () [Corola-website/Science/322782_a_324111]
-
Conceptul de thread (fir de execuție) definește cea mai mica unitate de procesare ce poate fi programată spre execuție de către sistemul de operare. Este folosit în programare pentru a eficientiza execuția programelor, executând porțiuni distincte de cod în paralel în interiorul aceluiași proces. Câteodată însă, aceste porțiuni de cod care constituie corpul threadurilor, nu sunt complet independente și în anumite momente ale execuției, se poate întâmpla că un
Fir de execuție () [Corola-website/Science/322794_a_324123]
-
pot primi priorități de execuție, însă această metodă este mai ineficientă, deoarece procesorul tot va comuta de la un thread la altul, operație ce va ocupa cicli de procesor. Cu varianta din urmă însă, se vor evita mai usor erori de programare prin care două sau mai threaduri se vor aștepta între ele, blocând un proces întreg (deadlock). Există două tipuri principale de threaduri: la nivel de utilizator și la nivel de kernel. O abordare combinată a celor două se numește "proces
Fir de execuție () [Corola-website/Science/322794_a_324123]
-
În programare un algoritm de calcul paralel sau concurent, în opoziție cu unul secvențial, este un algoritm care poate fi executat (simultan) pe porțiuni pe mai multe mașini de calcul, apoi reasamblat pentru aflarea rezultatului final. Algoritmii de calcul paralel sunt importanți
Algoritmi de calcul paralel () [Corola-website/Science/322791_a_324120]
-
un sistem de calcul paralel. În ultimii ani o dată cu scaderea costurilor tehnologiei au apărut o multitudine de mașini de calcul care pot reduce timpul de rezolvare al problemelor prin implementarea unor algoritmi de calcul paralel. Orice rezolvare de problemă prin programare paralelă, necesită în prealabil determinarea necesității adoptării unei soluții paralele, deoarece pot exista soluții de rezolvare secvențiale mai eficiente. Un exemplu de problemă de calcul paralel ar fi simularea unui cutremur și determinarea punctului cel mai afectat de acesta. Pe
Algoritmi de calcul paralel () [Corola-website/Science/322791_a_324120]
-
este calculată în funcție de memoria folosită și timp. Ei trebuie să mai optimizeze folosirea unei alte resurse, comunicarea între procese/procesoare. Sunt două modalități prin care procesele/procesoarele comunică: Memorie partajată sau Folosind mesaje. Modelul cu memorie partajată se referă la programarea într-un mediu multiprocesor pentru care comunicația între procese se realizează prin intermediul unei memorii comune. Modelul cu transfer de mesaje este adecvat implementării unui algoritm paralel într-o rețea de calculatoare. Pentru ca un program să poată fi executat în paralel
Algoritmi de calcul paralel () [Corola-website/Science/322791_a_324120]
-
de specialitate sub numele de "colectare a gunoiului" (garbage collection sau, pe scurt, GC), automatizarea gestionării memoriei, este un mecanism de reciclare a obiectelor nereferențiate în timp real, însă nu oferă garanția că va controla distrugerea obiectelor. Cu toate ca limbaje de programare precum C# și Java au nativ un astfel de sistem, implementarea lui într-o aplicație C++ anulează tocmai avantajele utilizării C++ : un management al resurselor determinist. Utilizatorul nu poate știi niciodată când se va declanșa sistemul de eliberare a memoriei
RAII () [Corola-website/Science/322811_a_324140]
-
ceasurilor) "eșecuri independente" (fiecare componentă a sistemului poate eșua în mod independent neafectându-le pe celelalte)”. Un program de care rulează într-un sistem distribuit se numește un "program distribuit", iar procesul de scriere a astfel de programe se numește "programare distribuită". Cuvântul distribuit, folosit în termeni precum "sistem distribuit", "programare distribuită", și "algoritm distribuit" se referea inițial la rețelele de calculatoare în care calculatoarele individuale erau distribuite fizic în cadrul unei anumite zone geografice. Astăzi, termenii sunt folosiți într-un sens
Calcul distribuit () [Corola-website/Science/322837_a_324166]
-
mod independent neafectându-le pe celelalte)”. Un program de care rulează într-un sistem distribuit se numește un "program distribuit", iar procesul de scriere a astfel de programe se numește "programare distribuită". Cuvântul distribuit, folosit în termeni precum "sistem distribuit", "programare distribuită", și "algoritm distribuit" se referea inițial la rețelele de calculatoare în care calculatoarele individuale erau distribuite fizic în cadrul unei anumite zone geografice. Astăzi, termenii sunt folosiți într-un sens mult mai larg, referindu+se până și la procese autonome
Calcul distribuit () [Corola-website/Science/322837_a_324166]
-
pe o singură placă de circuite sau dacă este alcătuită dintr-o serie de dispozitive interconectate prin cabluri.La un nivel superior, este necesară interconectarea proceselelor care rulează pe aceste procesoare cu un fel de sistem de comunicare. Sistemele de programare distribuite de obicei se încadrează într-una din următoarele categorii de arhitecturi: client-server, arhitectura 3-tier, arhitectura n-tier, obiecte distribuite, loose coupling, sau tight coupling.
Calcul distribuit () [Corola-website/Science/322837_a_324166]
-
Dimo, asist. ing. Ivan Sipos și asist. ing. Mihai Ceaparu. Proiectul a câștigat Premiul Ministerului Învățământului pentru cercetare în 1965. MAC-1 era constituită dintr-un ansamblu de 30 amplificatoare operaționale, cu tuburi electronice, un sistem de comandă, un panou de programare, impedanțe operaționale, elemente neliniare, sursă de alimentare, echipamente de vizualizare, măsurare și înregistrare.
Mașina Analogică de Calcul () [Corola-website/Science/322856_a_324185]
-
teoretică a calculului, și ca bază teoretică pentru mai multe aplicații practice a sistemelor concurente. Spre deosebire de modelele de calcul anterioare, modelul Actor a fost inspirat din fizică incluzând relativitatea generală și mecanica cuantică. A fost deasemenea influențat de limbaje de programare ca Lisp, Simula și versiunile de început ale Smalltalk, dar și de sisteme bazate pe capabilitate și comutație de pachete. Dezvoltarea sa a fost "motivată de un prospect de mașini de calcul înalt paralelizate conținând zeci, sute și chiar mii
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
and Marie Curie University (University of Paris 6), University of Pisa, University of Tokyo Yonezawa Laboratory and elsewhere. adoptă filosofia ca "totul este un actor". Acesta este similar cu filosofia "totul este un obiect" folosită de unele dintre limbajele de programare, dar diferă prin faptul că software-ul orientat pe obiect este de obicei executat secvențial, în timp ce modelul Actor este prin esență concurent. Un actor este o entitate computațională care, în răspuns la un mesaj recepționat, poate în mod concurent să
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
ca un framework pentru modelare, înțelegerea și gândire despre o mare arie de sisteme concurente. De exemplu: Modelul actor se bazează pe modele anterioare de calcul. Calculul Lambda al lui Alonzo Church poate fi văzut ca cel dintâi limbaj de programare bazat pe transmiterea mesajelor ( message passing ). (vezi Hewitt, Bishop, and Steiger 1973; Abelson and Sussman 1985). De exemplu, expresia lambda de mai jos implementează o structură de arbore de date când îi sunt furnizați parametrii pentru un leftSubTree și un
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
exprimată folosind substitutia de variabile în care valorile parametrilor sunt substituite în cod prin invocarea expresiilor lambda. Modelul de substituție este nepotrivit pentru concurență deoarece nu îngăduie capacitatea partajarii resurselor de schimbat. Inspirat de calculul lambda, interpreter pentru limbajul de programare Lisp face uz de o structură de date numită mediu în felul că valoarea parametrilor nu trebuie să fie substituită în corpul expresiilor lambda invocate. Această a dat voie la partajarea efectelor secundare cum ar fi updatarea structurilor de date
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
de Smalltalk-71 dar a renunțat datorită complexității comunicării care includerea invocări cu mai multe câmpuri incluzând "global", "sender", "receiver", "reply-style", "status", "reply", "operator selector", "etc." În 1972 Kay a visitat MIT și discutat ideile sale despre Smalltalk-72 construind limbajul de programare Logo ajutat de Seymour Papert și modelul "little person" (persoană mică), model de calcul utilizat în predarea programării copiilor mici. Totuși, transmiterea mesajelor în Smalltalk-72 era destul de complex. Codul în acest limbaj era vizionat de interpretor ca simple stream-uri de
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
receiver", "reply-style", "status", "reply", "operator selector", "etc." În 1972 Kay a visitat MIT și discutat ideile sale despre Smalltalk-72 construind limbajul de programare Logo ajutat de Seymour Papert și modelul "little person" (persoană mică), model de calcul utilizat în predarea programării copiilor mici. Totuși, transmiterea mesajelor în Smalltalk-72 era destul de complex. Codul în acest limbaj era vizionat de interpretor ca simple stream-uri de tokene. După cum Dan Ingalls a descris mai târziu: De aici și modelul de transmitere a mesajelor din Smalltalk-72
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
limbaj era vizionat de interpretor ca simple stream-uri de tokene. După cum Dan Ingalls a descris mai târziu: De aici și modelul de transmitere a mesajelor din Smalltalk-72 este legat la un model mașina particulară și o sintaxă de limbaj de programare care nu se dedică concurenței. Versiuni anterioare de Smalltalk au urmat calea folosirii metodelor virtuale din Simula în structura message-passing programelor. Totusi, Smalltalk-72 a folosit primitivele ca integrii, numere în format virgulă mobilă, iar "etc" ca obiecte. Autorii Simula au
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
a primitelor dar s-au abținut să le folosească pe scară largă din motive de eficiență. Java la început a folosit un expedient având ambele primitive și versiuni de obiect ca integrii, numere format virgula mobilă, "etc". Iar limbajul de programare C# (și verisiuni mai recente de java, începând cu Java 1.5) au adoptat soluția mai puțin elegantă de a folosi "boxing" și "unboxing", o variantă folosită mai devreme în implementările Lisp. Sistemul Smalltalk a devenit foarte influent, inovând în
Modelul Actor () [Corola-website/Science/322835_a_324164]
-
Edsger Dijkstra a dezvoltat semafoarele și mai târziu, între 1971 și 1973, Tony Hoare si Per Brinch Hansen developed monitors, pentru a rezolva problema excluziunii mutuale. Totuși, nici una dintre soluțiile aduse nu a dat o structură pentru un limbaj de programare care încapsulează accesul la resursele partajate. Această încapsulare a venit mai târziu printr-un serializer construct ([Hewitt and Atkinson 1977, 1979] and [Atkinson 1980]). Primele modele de calcul ("e.g." Turing machines, Post productions, the lambda calculus, "etc.") au fost bazate
Modelul Actor () [Corola-website/Science/322835_a_324164]