Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-06-2008, 21:41   #1
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
CUDA notizie ?

Sono interessato al nuovo linguaggio di programmazione delle GPU NVidia : "CUDA".
In particolare vorrei provare a scrivere un codice per usare la GPU per aumentare le prestazioni dei chess engines .
Qualcuno conosce qualcosa di CUDA ?
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 21:49   #2
eVuGEGA
Member
 
L'Avatar di eVuGEGA
 
Iscritto dal: Apr 2008
Messaggi: 181
Cuda non e' propriamente un linguaggio di programmazione, e piu' un sdk basato su C ma con delle estensioni.

Tutto cio' di cui hai bisogno lo puoi trovare qui

Personalmente ho implemetato anche un crivello di eratostene sotto CUDA, ma adesso non c'e' l'ho sotto mano (anche se la mia implementazione e' orribile)
eVuGEGA è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2008, 00:10   #3
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
L'idea e' molto interessante (soprattutto dal lato performance), anche se effettivamente non e' banale programmarci. Al lavoro ce la stiamo comunque studiando un po'.
__________________
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 20-06-2008, 11:11   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
E c'è perfino la possibilità di accedere alle API da Python... [PyCuda]
Certo che la biscia è dappertutto.
__________________

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 20-06-2008, 13:42   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
SLURP! CUDA lo seguo da tempo, ma proprio perché troppo legato al C, non l'avevo nemmeno studiato.

Adesso il discorso cambia.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2008, 13:55   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
cut...
Bang!
Beccato

@EDIT:
Quote:
eh, ma i kernel vanno sempre scritti in cuda .
Sisi, a me interessava solo "seccare" cdimauro
__________________

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)

Ultima modifica di banryu79 : 20-06-2008 alle 14:10.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2008, 14:07   #7
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
E c'è perfino la possibilità di accedere alle API da Python... [PyCuda]
Certo che la biscia è dappertutto.
eh, ma i kernel vanno sempre scritti in cuda .
__________________
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 20-06-2008, 14:55   #8
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Bang!
Sisi, a me interessava solo "seccare" cdimauro
__________________
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 20-06-2008, 21:59   #9
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
CUDA

Quote:
Originariamente inviato da marco.r Guarda i messaggi
L'idea e' molto interessante (soprattutto dal lato performance), anche se effettivamente non e' banale programmarci. Al lavoro ce la stiamo comunque studiando un po'.
Certo che modificare un codice nativo di un engine , per farlo lavorare con CUDA non è propio facilissimo .
Si potrebbe anche cercare, di velocizzare le istruzioni generalmente più usate da tutti gli engines . Ma anche questo non è la cosa più banale .
Il fatto è, che io ho ricevuto un post da Vasik Rajlich (l'autore di Rybka), sul suo forum , in cui dichiarava che : " l'imponente mole di lavoro , neccessaria a realizzare la mia idea , non giustifica l'esiguo aumento di elo del motore che si otterebbe". Ma io non sono molto convinto di questa affermazione , e comunque vorrei sperimentare . Potrebbe essere in ogni caso un modo per imparare a usare CUDA .

Ultima modifica di Albitexm : 20-06-2008 alle 22:02.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2008, 22:06   #10
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
CUDA

Quote:
Originariamente inviato da eVuGEGA Guarda i messaggi
Cuda non e' propriamente un linguaggio di programmazione, e piu' un sdk basato su C ma con delle estensioni.

Tutto cio' di cui hai bisogno lo puoi trovare qui

Personalmente ho implemetato anche un crivello di eratostene sotto CUDA, ma adesso non c'e' l'ho sotto mano (anche se la mia implementazione e' orribile)
Grazie per il link .
Secondo la tua esperienza , con questo CUDA si riesce a spremere queste GPU ?
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2008, 22:19   #11
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Non so quanto siano attendibili ed in che modo siano stati calcolati i miglioramenti, ma in questa pagina (sito Nvidia) vengono riportati gli speed-up per alcuni progetti, si va dal 2x al 270x.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 10:25   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Bang!
Beccato

@EDIT:

Sisi, a me interessava solo "seccare" cdimauro
Quote:
Originariamente inviato da marco.r Guarda i messaggi
eh, ma i kernel vanno sempre scritti in cuda .
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Cattiviiiii!!!

Comunque, quando ho studiato elaborazione delle immagini all'università (una dozzina d'anni fa, come minimo ) per "kernel" il professore soleva indicare la matrice di convoluzione da applicare all'immagine.
Se così fosse, non capirei il perché ciò non sia fattibile con Python, che offre classi adeguate per rappresentare array di dati omogenei e "standard", ma ho il non vago sospetto che qui per "kernel" intendano qualcosa di diverso.
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
Certo che modificare un codice nativo di un engine , per farlo lavorare con CUDA non è propio facilissimo .
Si potrebbe anche cercare, di velocizzare le istruzioni generalmente più usate da tutti gli engines . Ma anche questo non è la cosa più banale .
Il fatto è, che io ho ricevuto un post da Vasik Rajlich (l'autore di Rybka), sul suo forum , in cui dichiarava che : " l'imponente mole di lavoro , neccessaria a realizzare la mia idea , non giustifica l'esiguo aumento di elo del motore che si otterebbe". Ma io non sono molto convinto di questa affermazione , e comunque vorrei sperimentare . Potrebbe essere in ogni caso un modo per imparare a usare CUDA .
A me dei giochi non frega nulla: è da quando sono nati gli shader che le GPU m'interessano per poterci fare qualcosa di diverso dal renderizzare immagini.

Magari questa è l'occasione buona per farlo in maniera semplice, finalmente.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 11:32   #13
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
Certo che modificare un codice nativo di un engine , per farlo lavorare con CUDA non è propio facilissimo . z
Si potrebbe anche cercare, di velocizzare le istruzioni generalmente più usate da tutti gli engines . Ma anche questo non è la cosa più banale .
Il fatto è, che io ho ricevuto un post da Vasik Rajlich (l'autore di Rybka), sul suo forum , in cui dichiarava che : " l'imponente mole di lavoro , neccessaria a realizzare la mia idea , non giustifica l'esiguo aumento di elo del motore che si otterebbe". Ma io non sono molto convinto di questa affermazione , e comunque vorrei sperimentare . Potrebbe essere in ogni caso un modo per imparare a usare CUDA .
Sull'entita' dell'aumento e' difficile dire. Finche' sono micro-benchmark e' facile far pompare operazioni alla GPU, quando gli algoritmi sono piu' complessi il discorso puo' essere diverso. Sull'imponente mole di lavoro ha ragione l'autore. Proprio per la struttura di CUDA per ottenere buone performance bisogna spesso ristrutturare profondamente il codice, e partendo da una base preesistente puo' essere difficile.
__________________
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 21-06-2008, 11:42   #14
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Col CUDA, sarebbe possibile bypassare DirectX e OpenGL e far girare il proprio motore grafico al livello di GPU?
Ho letto che Epic vuole implementare un render di questo tipo, a loro detta un passo avanti enorme per flessibilità e velocità...
sarà vero?

Il Fek ha detto che non è possibile, dato che al contrario i developers puntano all'astrazione.
Ma se facesse guadagnare anche solo un 10% di prestazioni credo che in ricavi converrebbe
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 12:01   #15
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Cattiviiiii!!!

Comunque, quando ho studiato elaborazione delle immagini all'università (una dozzina d'anni fa, come minimo ) per "kernel" il professore soleva indicare la matrice di convoluzione da applicare all'immagine.
Se così fosse, non capirei il perché ciò non sia fattibile con Python, che offre classi adeguate per rappresentare array di dati omogenei e "standard", ma ho il non vago sospetto che qui per "kernel" intendano qualcosa di diverso.
Nel caso di CUDA con kernel si intende un elemento di computazione che va poi eseguito in parallelo sulla GPU. Ad esempio se volessi effettuare una somma di vettori in parallelo (la cosa piu' banale che mi viene in mente ) bisogna scrivere prima un kernel piu' o meno nel modo seguente
Codice:
__global__ void sum( float* u, float* v, float* w )
{
  int bs = blockDim.x;
  int bx = blockIdx.x;
  int tx = threadIdx.x;

  w[ bz*bs + tx ] = u[ bx*bs + tx ] + v[ bx*bs + tx ];
}
In pratica ad ogni elemento processore viene assegnato un indice diverso su cui operare, e quando dalla macchina si esegue sum(u,v,w) e' il driver della scheda video che provvede a schedulare opportunamente le esecuzioni in parallelo/sequenza.
Il motivo di tutti quegli indici strani e' che l'esecuzione dell'intera operazione viene suddivisa in blocchi i quali a loro volta vengono suddivisi in thread (che sono gli elementi che eseguono in parallelo). Il motivo di questa suddivisione e' data dal fatto che thread appartenenti allo stesso blocco condividono della memoria (chiamata shared appunto) locale molto piu' veloce di quella globale.
La gestione degli accessi alla memoria e' probabilmente uno degli elementi piu' cruciali per le performance in CUDA. Devi non solo minimizzare quelli alla memoria globale, ma pure organizzare gli accessi da parte di thread differenti in modo opportuno: se thread "vicini" (come indice) leggono usano locazioni di memoria in modo opportuno la scheda grafica riesce ad effettuare diverse letture in batch, ottimizzando la banda.
Spero che come riassunto offerto da un profano (ho cominciato a giocare con CUDA il mese scorso a tempo perso) possa essere abbastanza chiaro .
Come puoi ben capire scrivere i kernel e' un'operazione cruciale, tediosa (nel senso che il modo di procedere e' abbastanza chiaro) e che genera codice illeggibile (secondo me) a causa della marea di indici presenti , ed e' per questo che prima mi lamentavo che i kernel bisogna scriverseli :P. Idealmente io vorrei essere in grado di scriver equalcosa del genere
Codice:
cudamap( lambda x,y,z : z = x + y, u,v,w)
Visto che tutte le informazioni necessarie per generare il codice piu' sopra ci sono. Ovviamente in python e' un lavoraccio improponibile, pero' in altri linguaggi dotati di macro potrebbe essere gia' piu' ragionevole (noi stiamo facendo delle prove con CL).
Ho volutamente tralasciato il problema di piu' alto livello, ovvero di come organizzare l'algoritmo in modo parallelo, ma e' un argomento che merita molto piu' spazio e su cui non mi espongo .
__________________
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 21-06-2008, 12:06   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Sei stato chiarissimo, grazie.

A questo punto....
Codice:
del CUDA
per me.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 12:07   #17
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Tommo Guarda i messaggi
Col CUDA, sarebbe possibile bypassare DirectX e OpenGL e far girare il proprio motore grafico al livello di GPU?
Ho letto che Epic vuole implementare un render di questo tipo, a loro detta un passo avanti enorme per flessibilità e velocità...
sarà vero?

Il Fek ha detto che non è possibile, dato che al contrario i developers puntano all'astrazione.
Ma se facesse guadagnare anche solo un 10% di prestazioni credo che in ricavi converrebbe
In un modo o nell'altro devi passare per un libreria grafica per visualizzare i risultati per cui bene o male una delle due devi continuare ad usare, almeno per buttare a video una texture col risultato. Resta poi da vedere se ha un senso reimplementare software gia' collaudato e probabilmente ottimizzato da chi ne sa molto di piu'... a meno che non si tratti di portare in GPU codice che le DirectX/OpenGL eseguono sull'host.
Visto che e' del settore e sicuramente ne sa piu' di me, tendo a fidarmi di quel che dice Fek .
__________________
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 21-06-2008, 13:41   #18
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
CUDA

Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Non so quanto siano attendibili ed in che modo siano stati calcolati i miglioramenti, ma in questa pagina (sito Nvidia) vengono riportati gli speed-up per alcuni progetti, si va dal 2x al 270x.
Dal materiale nel link da te segnalato , sembra propio di avere un aumento considerevole di prestazioni , in gran parte delle apllicazioni .
Ora la domanda nasce spontanea : ma perchè la NVdia, invece che diffondere al pubblico il codice dell'ambiente di sviluppo delle sue GPU , non ha prodotto
o fatto produrre degli applicativi specifici ?
Comunque credo che l'unica modo , (come la maggior parte delle volte in questi casi) sia sperimentare . Ovvero comprare una GPU , scrivere un codice per l'applicazione che interessa e verificare i risultati , facendo diversi tentativi . Eih.. ma cosa sto facendo ? Lavoro gratis per la Nv.. ?

Ultima modifica di Albitexm : 21-06-2008 alle 13:43.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 14:13   #19
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
Dal materiale nel link da te segnalato , sembra propio di avere un aumento considerevole di prestazioni , in gran parte delle apllicazioni .
Ora la domanda nasce spontanea : ma perchè la NVdia, invece che diffondere al pubblico il codice dell'ambiente di sviluppo delle sue GPU , non ha prodotto
o fatto produrre degli applicativi specifici ?
Comunque credo che l'unica modo , (come la maggior parte delle volte in questi casi) sia sperimentare . Ovvero comprare una GPU , scrivere un codice per l'applicazione che interessa e verificare i risultati , facendo diversi tentativi . Eih.. ma cosa sto facendo ? Lavoro gratis per la Nv.. ?
Perche' l'nvidia produce hardware, non software. A lei interessa venderti un prodotto che ti permetta di scrivere codice piu' veloce, e ti da gli strumenti per farlo (codice, documentazione, compilatore ... ). Sarebbe un po' come chiedere all'intel di produrre il software per le proprie cpu...
__________________
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 23-06-2008, 09:03   #20
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Perche' l'nvidia produce hardware, non software. A lei interessa venderti un prodotto che ti permetta di scrivere codice piu' veloce, e ti da gli strumenti per farlo (codice, documentazione, compilatore ... ). Sarebbe un po' come chiedere all'intel di produrre il software per le proprie cpu...
Ma c'è la differenza che Intel crea processori che eseguono qualsiasi codice x86/64...
Invece Nvidia crea GPU che eseguono solo shaders e CUDA, che è un linguaggio proprietario e assolutamente incompatibile con la concorrenza.

Quindi dovranno inventare qualcosa per convincere gli sviluppatori a trascurare tutti gli utenti AMD no?

Per ora stanno rendendo il codice eseguibile anche su CPU x86... IMHO vogliono porre CUDA come standard nella programmazione "manycore"...
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
L'intelligenza artificiale ha reso pi&ug...
L'intelligenza artificiale per lo svilup...
Il sistema di verifica dell'identit&agra...
Ora è ufficiale: Samsung sta per ...
Motorola Edge 70 Fusion: ecco le specifi...
8TB a meno di 170€: il richiestissimo Ha...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
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:42.


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