Apple Mac OS X 10.6 "Snow Leopard" - Prima parte

Apple Mac OS X 10.6 "Snow Leopard" - Prima parte

Recensione di Andrea Bai pubblicato il 18 Settembre 2009 nel canale Apple

“Prima parte di una trattazione a due puntate inerente il nuovo sistema operativo di Apple, Mac OS X 10.6 Snow Leopard. In questa puntata ci concentreremo su due delle principali tecnologie del nuovo sistema operativo: Grand Central Dispatch e OpenCL”


OpenCL

La seconda, importante, novità tecnologica implementata in Mac OS X 10.6 "Snow Leopard" è il supporto allo standard OpenCL, che consente di mettere a disposizione del sistema operativo e degli applicativi la potenza computazionale delle moderne GPU per calcoli ed impieghi che esulano dalla normale computazione grafica.

Di Open CL abbiamo avuto modo di parlare più volte sulle pagine di Hardware Upgrade. Si tratta di uno standard aperto che comprende un linguaggio di programmazione, le relative API, e tutti gli elementi runtime necessari a supporto della programmazione. La base di partenza del linguaggio di programmazione dello standard OpenCL è lo standard C99, nato nel 1999 da una revisione e da una serie di operazioni di aggiornamento al fine di mantenere il linguaggio C di pari passo con l'evoluzione hardware.

La qualità di immagine, il realismo grafico, le elevate risoluzioni sono possibili grazie alla capacità delle moderne GPU di calcolare parecchi milioni di pixel al secondo, ciascuno dei quali è, nei fatti, il risultato di una serie di operazioni matematiche più o meno complesse. Pertanto, da un punto di vista strettamente computazionale, le GPU sono in grado di effettuare operazioni al livello di supercomputer. Non solo: le GPU attuali sono in grado di processare più pixel simultaneamente poiché, a livello architetturale, sono processori altamente parallelizzati. E' sulla base di queste considerazioni che nasce l'idea di impiegare i processori grafici come processori general-purpose.

Ma come si è passati da una GPU esclusivamente dedicata al calcolo grafico ad una GPU capace di affrontare anche operazioni generiche? Il merito, forse inconsapevole, di questa evoluzione va all'introduzione dei graphic shader, ovvero una serie di istruzioni basilari che permettessero di riprogrammare gli elementi atti alla processazione dei pixel all'interno della GPU, più comunemente denominati pipeline. I graphic shader sono infatti nati per ovviare ad una limitazione delle precedenti generazioni di GPU, caratterizzate da pipeline non programmabili e, pertanto, in grado di computare solo attingendo a questo set fisso di istruzioni disponibili a livello hardware. Con il passare del tempo i graphic shader si sono via via evoluti, passando dall'essere semplici programmi scritti in linguaggio assembly, a programmi di più alto livello e di maggior complessità. Proprio per gestire la sempre più crescente complessità degli shader grafici, i progettisti di GPU hanno ritenuto indispensabile modificare l'architettura delle GPU, permettendo alle pipeline di supportare operazioni matematiche e logiche più generiche.

AMD e NVIDIA, consci delle potenzialità delle nuove architetture grafiche, hanno iniziato a sviluppare una serie di linguaggi di programmazione proprietari in grado di semplificare l'approccio alla programmazione GPGPU (General Purpose GPU). Apple, di contro, ha intuito che uno standard aperto potesse meglio portare sul mercato le funzionalità delle nuove schede video e collaborando con Intel e le stesse AMD e NVIDIA ha sviluppato uno standard da proporre a Khronos Group. Nel giro pochi mesi OpenCL è divenuto ufficialmente uno standard aperto e, come tale, libero da canoni di concessione e multipiattaforma destinato in modo particolare alla programmazione parallela delle GPU di ultima e futura generazione.

Quali sono, in ultima analisi, le ricadute pratiche del supporto ad una tecnologia GPGPU? Con la possibilità di eseguire un consistente volume di calcoli in parallelo, lo sfruttamento delle tecniche di programmazione messe a disposizione da OpenCL consente di incrementare significativamente la velocità e la risposta di una vasta gamma di applicazioni, a partire dai giochi sino a software di calcolo e analisi scientifica, passando per applicativi di stampo entertainment. Tra i campi di applicazione si possono citare gli applicativi per il riconoscimento del volto in realtime, soluzioni per la riduzione del rumore video, e la codifica/decodifica accelerata di materiale multimediale.

E' molto interessante notare come Apple abbia deciso di propendere per uno standard aperto quale Open CL per quanto riguarda la possibilità di fruire delle potenzialità del GPGPU: i sistemi Mac sono infatti equipaggiati con soluzioni grafiche di NVIDIA, che ha sviluppato il proprio standard di programmazione CUDA. Ancora una volta è evidente come Apple, pur appoggiandosi ad altre grandi realtà del settore, preferisca evitare di legarsi a doppio filo a qualsiasi di queste, perseguendo la proverbiale politica delle "mani libere".



Vai ai Commenti
Pagina 1:Introduzione
Pagina 2:Grand Central Dispatch
Pagina 3:GCD, segue
Pagina 4:OpenCL

Commenti (144)

Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - Info
Per contattare l'autore del pezzo, così da avere una risposta rapida, si prega di utilizzare l'email personale (vedere in alto sotto il titolo). Non è detto che una domanda diretta inserita nei commenti venga verificata in tempi rapidi. In alternativa contattare la redazione a questo indirizzo email.
Commento # 1 di: D/C pubblicato il 18 Settembre 2009, 14:49

Spero sia evidende che 10.6 non è un service pack ma un sistema operativo tutto nuovo
Commento # 2 di: dotlinux pubblicato il 18 Settembre 2009, 14:57

Qualcuno mi sa dire un qualsiasi software per provare i benefici della GCD?
Ho provato After Effects e Premiere (CS4) che utilizziamo in ufficio ma non si guadagna nemmeno 1 secondo nei rendering.
Commento # 3 di: demon77 pubblicato il 18 Settembre 2009, 15:00

Novità importanti.. strano che non lo abbiano chiamato 11 ma solo 10.6.. forse perchè ci sono aggiunte non cambiamenti al cuore del sistema..
Commento # 4 di: samslaves pubblicato il 18 Settembre 2009, 15:05
@dotlinux

Solo il sistema e le app riscritte da Apple per ora. Le app di terzi devono essere riscritte o scritte sfruttando le nuove API.
Cmq, installato sul mio Macbook Pro del 2007: la cosa subito evidente nell'utilizzo di SL e' la velocita' del Finder ed il fatto che non ho piu' visto la spinning ball.
Per il resto provero' a metterci mano con Xcode.
Cmq, ci sono moltissime migliorie nascoste (shortcuts, miglioramenti nell'usabilita' e quant'altro).
Posto il link

www.macosxhints.com

se mi permettete per una lista molto dettagliata.

Commento # 5 di: Roland21 pubblicato il 18 Settembre 2009, 15:06

Originariamente inviato da: demon77
Novità importanti.. strano che non lo abbiano chiamato 11 ma solo 10.6.. forse perchè ci sono aggiunte non cambiamenti al cuore del sistema..


Il commento più inutile della storia! Che cosa c'entra l'11 se ogni sistema operativo che hanno rilasciato è sotto il nominativo Mac OS X? I numeri romani non te li hanno insegnati a scuola?
Commento # 6 di: dotlinux pubblicato il 18 Settembre 2009, 15:10

Allora è giusto che sia un aggiornamento se non ho in realtà benefici.
Aspettiamo CS5 e vediamo se ci fanno tornare a lavorare con i mac.
Commento # 7 di: AlexSwitch pubblicato il 18 Settembre 2009, 15:13

Bhè parecchi scambiano la X che segue OS come lettera....
Commento # 8 di: simon71 pubblicato il 18 Settembre 2009, 15:18

Direi che ora che vedremo OSXI passeranno almeno altri 10 anni, salvo imprevisti tecnologici
Commento # 9 di: manowar84 pubblicato il 18 Settembre 2009, 15:25

]

Originariamente inviato da: dotlinux
Qualcuno mi sa dire un qualsiasi software per provare i benefici della GCD?
Ho provato After Effects e Premiere (CS4) che utilizziamo in ufficio ma non si guadagna nemmeno 1 secondo nei rendering.




Christophe Ducommun who keeps optimizing Snow Leopard for his application MovieGate just sent us results to illustrate how Snow Leopard can improve performance when one can make use of Grand Central and Open CL. Tests below have been performed with a Mac Pro 2007 (Quad Core 2.66 GHz with a GeForce 8800 GT).


Snow Leopard
150 frame/s for encoding in MPEG-2
70% CPU load for decoding
130% CPU load for MPEG-2 encoding (ffmpeg)

Leopard
104 frame/s for encoding in MPEG-2
165% CPU load for decoding
100% CPU load for MPEG-2 encoding (ffmpeg)


The overall gain is around 50%, a rather impressive improvement without changing any component on the hardware. It illustrate how much unused power one can have in hardware, decoding being more GPU demanding than encoding. So, optimization is a powerful strategy, even though the balance between CPU and GPU is not always trivial.
This is a very promising result illustrating how Grand Central and Open CL can boost performance, and why developers should invest a bit of time is taking advantages of those technologies.



Commento # 10 di: Xile pubblicato il 18 Settembre 2009, 15:25

Se non sbaglio GCD è stato appena rilasciato sotto GPL.
Totale commenti: 144
« Pagina Precedente | Pag 1 di 15 | Pagina Successiva »

Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".
Titolo:
Il tuo commento:
La discussione è consultabile anche qui, sul forum.
 
 
 
 

SOCIAL BOX

Consiglia Hardware Upgrade su Google