Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-06-2010, 08:38   #21
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
Quote:
Originariamente inviato da Tommo Guarda i messaggi
La documentazione però cita esplicitamente una Command Queue per i Kernels, quindi c'è
Magari al momento è un'estensione di OCL1.0 di AMD?
no beh le command queue esistono anche in opencl 1.0. ma quindi cosa intendi quando dici che sono superiori a quelle di cuda? che in cuda non ci sono proprio? io in effetti non l'ho usato gli ho dato solo un'occhiata vaga mentre opencl lo sto usando per un progetto per l'università
mux85 è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2010, 12:08   #22
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
In cuda pensavo ci fosse, ma ho avuto una brutta sorpresa...

in pratica l'esecuzione di "un Kernel" è parallela al main thread si...

Il problema è che se c'è una nuova chiamata ad un kernel prima che il primo finisca, a causa della mancanza di una command queue il main thread viene messo in attesa del primo, appena prova a lanciare il secondo.

quindi fuori dalle app di esempio che fanno lavorare solo la GPU, ci si trova spessissimo in situazioni dove prima la CPU lancia un sacco di kernels e aspetta la GPU, quindi la GPU aspetta che la cpu finalizzi il frame e faccia quello che deve fare.
Per cui il modello è sostanzialmente sincrono... mentre fai conto che nei videogiochi la GPU si trova a volte fino a 10 frame indietro rispetto alla CPU prima che venga imposta una sincronizzazione!

Inoltre questo fatto lo conoscono in pochi, che io sappia c'è una sola implementazione di command queue in giro.

In realtà ci sarebbero i Compute Streams nel CUDA SDK, che dovrebbero parallelizzare l'esecuzione di N kernels...
il problema è che su qualsiasi cosa che non sia Fermi non fanno assolutamente nulla e tutti i kernels vengono lanciati nel main thread.
E su Fermi se ne possono eseguire (al più, a discrezione dello scheduler) 4 , che comunque presentano lo stesso problema di quell'unico thread di prima, cioè 2 kernel consecutivi serializzano lo stream.

Per cui OpenCL mi è interessata di botto con questa cosa.

Quote:
Originariamente inviato da marco.r Guarda i messaggi
Lo standard riguarda le API non le ABI. Al piu' ti puoi lamentare che non puoi cross-compilare da una architettura all'altra, ma io francamente neanche me lo aspetto. Sarebbe come chiedere di poter cross-compilare binari ARM per linux da VS ...
E quindi abbiamo OpenCL di Nvidia, OpenCL di AMD, OpenCL di IT, OpenCL di Intel... allora dove sarebbe lo standard se non sono nemmeno compile-compatibili?
La situazione è quantomeno confusa
__________________
*ToMmO*

devlog | twitter

Ultima modifica di Tommo : 24-06-2010 alle 12:19.
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2010, 12:08   #23
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
*doppio post*
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2010, 13:16   #24
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Tommo Guarda i messaggi
E quindi abbiamo OpenCL di Nvidia, OpenCL di AMD, OpenCL di IT, OpenCL di Intel... allora dove sarebbe lo standard se non sono nemmeno compile-compatibili?
La situazione è quantomeno confusa
Beh, una cosa alla volta: almeno hanno lo stesso nome.
Dagli tempo.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2010, 13:58   #25
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Tommo Guarda i messaggi
I
E quindi abbiamo OpenCL di Nvidia, OpenCL di AMD, OpenCL di IT, OpenCL di Intel... allora dove sarebbe lo standard se non sono nemmeno compile-compatibili?
La situazione è quantomeno confusa
Se vuoi ti riscrivo quello che hai quotato .
Perche' dovrebbero essere compatibili a livello binario per essere uno standard ? OpenCL si occupa di altro, cosi' come lo standard C++ non si occupa della compatibilita' binaria degli eseguibili. Anzi col C++ e' forse peggio perche' esistono compilatori per la stessa architettura HW (x86) e la stessa piattaforma (win32) che generano codice oggetto con ABI diverse. Nonostante questo c++ e' uno standard.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2010, 18:43   #26
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Si beh però purtroppo mentre "Win e Linux" sono due cose piuttosto differenti dal punto di vista dell'utente, AMD e Nvidia producono schede video che fanno esattamente le stesse cose.

Detta in altra maniera, non è fattibile un eseguibile per Nvidia e uno per AMD in un'applicazione di massa... sia per la manutenzione che per l'utente finale che spesso non sa nemmeno che è una scheda video ( "è lo schermo?" (cit.) ) e va prepotentemente contro l'idea che ha fatto nascere OpenCL, cioè computing parallelo portabile e trasparente.
All'inizio dicevano che avrebbe funzionato pure sui processori, figurarsi.

A questo punto è ovvio che si fa prima a dire "nvidia only" e supportare il tool fatto meglio.
Bah, speriamo che la situazione cambierà, OpenCL non mi dispiace
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 00:32   #27
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Ho provato su Mac, com'è giusto che sia il kit offerto col sistema non fa alcuna distinzione tra Nvidia e AMD... magari le prestazioni non sono al top (58 gflops per lo nbody sample) ma trattandosi di una 8600GT su mac "non ufficiale" è notevole.

Come sarà che su Windows questa cosa è "tecnicamente impossibile"?

EDIT: ah ecco
Quote:
Mac OS X’s OpenCL compiler uses the clang and LLVM technologies to compile the kernels written in OpenCL and translate those instructions into optimized machine code targeted for the hardware on the host machine. Mac OS X v10.5 and later uses LLVM technology in other environments as well, such as for compiling OpenGL code. When the compiler converts your OpenCL code it first translates your instructions from OpenCL to an intermediate representation (IR). After that, LLVM does its best to optimize the IR before passing it along to the code generators for the devices that the code must execute on. The importance of this pipeline is that it makes it possible to write a single OpenCL program that can execute natively on various machine architectures—such as those of the various CPUs and GPUs available on your system. Although LLVM is fast, compiling is always expensive and the resulting programs should be cached by your application to avoid unnecessary re-compilation.
Tanta roba.
Che è sto LLVM che sembra saper fare di tutto?
__________________
*ToMmO*

devlog | twitter

Ultima modifica di Tommo : 25-06-2010 alle 00:35.
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 08:31   #28
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Tommo Guarda i messaggi
Che è sto LLVM che sembra saper fare di tutto?
http://llvm.org/
Se non mi ricordo male sta per Low Level Virtual Machine. E' una macchina virtuale con molte funzionalità avanzate, e vuole rappresentare un pò lo stato dell'arte.

Ci ho giocato un pò e mi sembra davvero un gioiellino.
Oltretutto, i messaggi d'errore di clang (il progetto principale a contorno, C su LLVM in pratica) sono spettacolari
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 08:46   #29
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da shinya Guarda i messaggi
Oltretutto, i messaggi d'errore di clang (il progetto principale a contorno, C su LLVM in pratica) sono spettacolari
[OT:] in che senso?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 09:17   #30
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
[OT:] in che senso?
http://blog.llvm.org/2010/04/amazing...-recovery.html

Notare che ti sottolinea l'errore in ascii-art style e ti dice "did you mean X?" con la correzione. Spettacolo.
C'è un confronto diretto tra clang e gcc... la differenza si nota!
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 10:18   #31
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da shinya Guarda i messaggi
http://blog.llvm.org/2010/04/amazing...-recovery.html

Notare che ti sottolinea l'errore in ascii-art style e ti dice "did you mean X?" con la correzione. Spettacolo.
C'è un confronto diretto tra clang e gcc... la differenza si nota!
Azz, visto, e sottoscrivo: molto bello (e utile) davvero
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2010, 12:48   #32
Pixel452
Senior Member
 
L'Avatar di Pixel452
 
Iscritto dal: Nov 2007
Messaggi: 488
Ma visto che mi pare di capire che qui c'è gente che usa OpenCL... Usate Visual Studio 2010 per sviluppare? Perchè io non riesco a far andare l'intellisense nei file .cl, faccio tutto quello che dice la guida(stessa roba col'2008 che però mi funziona) ma va solo per i file .cl che sono GIA' presenti nei progetti dell'SDK, se anche ne aggiungo uno ad un esempio già esistente non mi funziona, ma solo per il file nuovo. Vi viene in mente niente?
Grazie.

p.s. La configurazione l'ho impostata come per i file già presenti.
Pixel452 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
La missione cinese Tianwen-3 che porter&...
Fujifilm presenta il nuovo obiettivo bro...
Tutte le offerte Amazon attive del weeke...
TCL 75V6C da 75 pollici a 499,90€: Smart...
Sony Alpha 7 III con 2 batterie a 1.299€...
La società europea Isar Aerospace...
Samsung anticipa gli obiettivi delle mem...
iPhone 18 Pro e Pro Max, il prezzo aumen...
Anthropic scava, NVIDIA vende i picconi:...
I 5 brand di Anker si uniscono: un solo ...
Motorola moto g67 a 229,90€ e edge 70 a ...
Scontata di oltre 50€ reali, a 179€ Robo...
Final Fantasy VII Revelation ha una data...
Super venduta perché va benissimo...
Torna a soli 34,19€ grazie a un coupon: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v