OpenCL: test di implementazione interna in MQL5 - pagina 63

 
GKS: Se AMD non avesse comprato ATI Readon un paio di anni fa.

ATI è stata acquistata 6 anni fa, nel 2006.

L'unico peccato che i concorrenti di Intel non abbiano una tecnologia simile all'Hyper-threading, speriamo che AMD la inventi.

Bulldozer è una sorta di implementazione hardcore dell'hyper-threading: 8 undercore con FPU ovviamente scarse che combattono anche per le risorse.

Sorprendentemente, Bull è risultato leggermente migliore di Thuban x6 in media, anche in multithreading. Sui compiti interi ben paragonati conta velocemente (cade leggermente al di sotto dell'i7), ma su tutto il resto perde contro l'i7 e finisce, in media, alla pari con l'i5-2400. In breve, un processore da server per il desktop. Ed è improbabile che Trinity risolva questa situazione: i nuclei vengono rasi al suolo.

Secondo ixbt,

Aumento delle prestazioni della CPU fino al 29%, grazie al nuovo core del processore convenzionalmente chiamato Piledriver

Quindi mi sbagliavo. Mi chiedo quali applicazioni sarebbero così?

AMD ����������� APU ����� A ������� ��������� (Trinity)
AMD ����������� APU ����� A ������� ��������� (Trinity)
  • www.ixbt.com
��� � ���������, �������� AMD ������� ����������� ��������� ���������� ����� A ������� ���������, ��������� ����� ��� �������� ������������ Trinity. ��� ������������� ��� ��������, ������� ������������ ������, ���������� �� ������������ � ����������� ����������, HTPC � ������������ ������. APU ������� ���������, �� ������ �������������...
 
Mathemat: Bulldozer è una sorta di implementazione hardcore hypertrading: 8 undercore con FPU ovviamente scarse, che combattono anche per le risorse.

È ancora peggio in termini di prestazioni energetiche. Quanta energia in più viene spesa per eseguire ogni core fisico rispetto a quando 4 core fisici eseguono 8 thread indipendenti...

/ Ho corretto il post separando la citazione dalla tua risposta. Per poter digitare la tua risposta al di fuori della citazione (se non ci riesci), clicca sul pulsante HTML a sinistra, digita un paio di lettere alla fine del markup e torna alla modalità visuale - Mathemat/

 
Voglio credere che in questo progetto...
 

https://www.mql5.com/ru/articles/405 - dopo aver letto questo articolo mi sono interessato all'argomento del GPU computing, anche se non sono un programmatore, ma in questo articolo mi sono imbattuto in un linkhttp://www.ixbt.com/video3/rad.shtml, che a sua volta ha attirato questo articolo -http://www.ixbt.com/video3/rad2.shtml. Penso che questo tema potrebbe zaiterezovat sviluppatori di questo progetto, perché descrive una variante per aumentare il testosterone ottimizzazione delle prestazioni strategia con operazioni complesse. Forse aiuterà nello sviluppo del progetto.

P.s Non ho letto questo articolo fino alla fine.

Grazie per il consiglio....

OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.
 

E cosa pensa la gente qui del C++ AMP che Microsoft ha implementato per il suo VS11:

http://msdn.microsoft.com/en-us/library/hh265136(v=vs.110).aspx

Abbiamo annunciato questa tecnologia all'AMD Fusion Developer Summit nel giugno 2011. Allo stesso tempo, abbiamo annunciato la nostra intenzione di rendere la specifica aperta, e stiamo lavorando con altri fornitori di compilatori in modo che possano supportarla nei loro compilatori (su qualsiasi piattaforma).

Notate che MS vuole che questa estensione della lingua sia aperta. L'ho provato in VS11 e devo dire che è una figata: invece di un ingombrante codice CUDA SDK in un .cu separato, bastano poche righe nello stesso .cpp:

Vorrei che MQL5 avesse una caratteristica simile. Non ho mai lavorato con OpenCL ma ho anche sentito che è difficile da programmare lì.

C++ AMP Overview
C++ AMP Overview
  • msdn.microsoft.com
C++ Accelerated Massive Parallelism (C++ AMP) accelerates execution of C++ code by taking advantage of data-parallel hardware such as a graphics processing unit (GPU) on a discrete graphics card. By using C++ AMP, you can code multi-dimensional data algorithms so that execution can be accelerated by using parallelism on heterogeneous hardware...
 
gpwr: Sarebbe bello se MQL5 avesse le stesse capacità.

OpenMP è già stato chiesto. Non lo fanno.

 
Domanda agli sviluppatori del terminale: ci sono piani per aggiungere la possibilità di impostare la dimensione del gruppo di lavoro all'API OpenCL? Sarebbe molto bello. Probabilmente, in CLExecute(), come ho capito.
 
Mathemat:
Domanda agli sviluppatori di terminali: ci sono piani per aggiungere alle API OpenCL la possibilità di impostare la dimensione del gruppo di lavoro? Sarebbe molto bello. Probabilmente, nella funzione CLExecute(), come ho capito.

CLExecute(cl_krn,work_dim,offset,work) - non è così?

bool  CLExecute(
               int          kernel,                   // хендл на кернел OpenCL программы
               uint         work_dim,                 // размерность пространства задач 
               const uint&  global_work_offset[],     // начальное смещение в пространстве задач
               const uint&  global_work_size[]        // общее количество задач
               );
 
joo: CLExecute(cl_krn,work_dim,offset,work) - non è così?

No, questa è solo la dimensione dello spazio di lavoro globale.

Ma la dimensione del gruppo di lavoro locale non si trova da nessuna parte nell'implementazione degli sviluppatori del terminale. Beh, dovresti.

Nell'API OpenCL completa, c'è la funzione clEnqueueNDRangeKernel( ) il cui analogo è CLExecute(). È il suo sesto argomento - const size_t*local_work_size che è necessario.

 
Capisco.