OpenCl et les outils correspondants. Critiques et impressions. - page 26

 
Mathemat:
Ah, homonyme, tu es en train de dégringoler, n'est-ce pas ?

Comprenez-vous le sujet ?
 

Non. Je n'ai pas conduit, je ne conduis pas et je n'en ai pas l'intention.

Mais j'ai entendu dire, bien sûr, que VAZ pourrait bien être meilleur dans nos régions du monde.

 

Quelqu'un ici ressemble aux Chinois qui ont essayé de faire un tour dans les nouveaux trains à grande vitesse. Vous avez aimé ? - "Nah, chez zur bisro - pas moyen de le regarder !"

Mathemat:

C'est probablement quelque chose que vous devriez demander à Joo . Il aime enseigner les nerfs en temps réel.

J'ai publié des tests de performance des neurocellules en utilisant différents compilateurs. J'espère que je posterai bientôt un autre cas de test - les calculs du GPU.

Mathemat:
Maintenant, essayez de dire à Joo qu'il "déverse de la merde dans le NS"...

Il est également possible de se débarrasser de cette absurdité. Il est beaucoup plus rapide de comprendre ce qui est absurde et ce qui ne l'est pas, car dans de nombreux cas, et notamment lors de l'expérimentation, on ne peut pas savoir à l'avance. En outre, à mesure que la vitesse de calcul des grilles augmente, la possibilité d'accroître la dimensionnalité des signaux d'entrée s'accroît également, ce qui constitue un " sis " à la porte de l'analyse multidevises.

En outre, toute personne qui négocie des options sait à quel point des calculs approfondis sont nécessaires pour analyser plusieurs options et sélectionner la plus prometteuse d'entre elles. Il y aura un "sisam" ici aussi.


Et puis il y a l'entraînement en temps réel des neurocellules. Il serait possible d'organiser une population "vivante" qui vit réellement, évolue - recalcule le préapprentissage à chaque barre... Bon, peut-être pas sur chaque barre, mais après quelques-unes, mais cela demande quand même un coût énorme à calculer.


Il y a un autre problème : la quantité d'informations qui peut être traitée par une carte graphique à la fois. Mais je pense que ce problème disparaîtra aussi dans un avenir proche.

L'homme, à une époque où "les vaisseaux spatiaux naviguent à travers le ... Grand Théâtre", il y a des gens qui s'opposent au progrès et ne comprennent pas pourquoi tous les fabricants de puces de processeurs sont si préoccupés par le multithreading. En effet, jusqu'à il y a deux ans, cela n'était pas évident et passait inaperçu, cela fera bientôt deux ans que j'ai déposé ma demande auprès de Servicedesk, datée du 1er janvier 2009.

MT5+CUDA

Suggestions, MetaTrader 5 MQL, Закрыта, Начата: 2010.12.28 08:11, #29755


À l'époque, je me concentrais spécifiquement sur CUDA. Mais il est ensuite apparu clairement qu'OpenCL est plus prometteur en tant qu'indépendant du fer, et les développeurs de MQ ont fait le bon choix.

Et donc, finalement, l'application est faite !

Extrait de la demande, exemples de demandes :

Сегодня все знают, от новичков в программировании до профессионалов, что за параллельными вычислениями будущее программного обеспечения. И я знаю, что компания MetaQuotes Software Corp делает очень много для своих продуктов в этом направлении - это и многопоточность программ MQL5, и принцип удаленных агентов для распределённых вычислений при оптимизации.

Но существует и ещё одна возможность колоссально ускорить вычисления - это расчеты на GPU. Года 1.5-3 назад, расчеты на GPU использовались только для отрисовки графики в играх и мультимедийных приложениях, но сейчас положение в индустрии поменялось кардинально, расчеты на GPU используются везде, от молекулярного моделирования до тяжелейших инженерных расчетов в газо- и гидродинамики.

Вот далеко не полный список приложений, ускоряющихся с помощью архитектуры для параллельных вычислений:

Оборона (на англ)

RealityServer
Ikena: Imagery Analysis and Video Forensics
Signal Processing Library: GPU VSIPL
IDL and MATLAB Acceleration: GPULib
GIS: Manifold
MATLAB GPU Computing: MathWorks
MATLAB Plugin: Accelereyes

Молекулярная динамика, вычислительная химия (на англ)

OpenMM library for accelerating molecular dynamics on GPUs
GROMACS using OpenMM
NAMD molecular dynamics
VMD visualization of molecular dynamics
HOOMD molecular dynamics
Acellera: ACEMD bio-molecular dynamics package
BigDFT: DFT (Density functional theory) electronic structure code
MDGPU
GPUGrid.net
MATLAB GPU Computing: MathWorks
MATLAB plugin: Accelereyes

Естественные науки, био-информатика (на англ)

GPU HMMER
DNA Sequence alignment: MUMmerGPU
LISSOM: model of human neocortex using CUDA
Silicon Informatics: AutoDock
MATLAB plugin: Accelereyes

Электродинамика и электромагнетизм (на англ)

Реализация FDTD алгоритмов от Acceleware
Решения в области электромагнетизма от Acceleware
Remcom XStream FDTD
SPEAG Semcad X
CST Microwave Studio
Quantum electrodynamics library
GPMAD : Particle beam dynamics simulator

Визуализация в медицине, компьютерная томография (на англ)

RealityServer
GPULib:IDL acceleration
Acceleware: решения для работы с изображениями
Digisens: SnapCT tomographic reconstruction software
Techniscan: Whole Breast Ultrasound Imaging System
NVPP: NVIDIA Performance Primitives (early access)
MATLAB GPU Computing: MathWorks
MATLAB plugin: Accelereyes

Нефть и газ (на англ)

RealityServer
Acceleware: Kirchoff and Reverse Time Migration
SeismicCity: 3D seismic imaging for prestack depth migration
OpenGeoSolutions: Spectral decomposition and inversion
Mercury Computer systems: 3D data visualization
ffA: 3D Seismic processing software
Headwave: Prestack data processing
GIS: Manifold
MATLAB GPU Computing: MathWorks
MATLAB plugin: Accelereyes

Финансовые вычисления и котировки акций (на англ)

SciComp: derivatives pricing
Hanweck: options pricing
Exegy: Risk Analysis
Aqumin: 3D Visualization of market data
Level 3 Finance
OnEye (Australia): Accelerated Trading Solutions
Arbitragis Trading
Enabling GPU Computing in the R Statistical Environment
MATLAB GPU Computing: MathWorks
MATLAB plugin: Accelereyes

MATLAB, LabVIEW, Mathematica, ANSYS.


CUDA-ускорение для MATLAB

    -
Accelereyes: Jacket engine for MATLAB
- GPULib: mathematical functions for IDL and MATLAB
- Integrating Simulink with CUDA using S-functions
Enabling GPU Computing in the R Statistical Environment
Mathematica plug-in for CUDA
Using NVIDIA GPUs with National Instruments LabView
Автоматизация электронного дизайна (на англ)

Agilent EESof: ADS SPICE simulator
Synopsys: Sentaraus TCAD
Gauda: Optical proximity correction (OPC)

Моделирование погоды и океана (на англ)

CUDA-accelerated WRF code

Приложения для работы с видео, изображениями и компьютерным видением
Axxon Intellect Enterprise Video Surveillance Software
Pflow CUDA Plugin for Autodesk 3ds Max
RUINS Shatter CUDA Plug-in for Maya
Bullet 3D Multi-Physics Library with CUDA Support
CUDA Voxel Rendering Engine
NVPP: NVIDIA Performance Primitives (early access) Volume Rendering with CUDA for VTK / Slicer3
Furryball: Direct3D GPU Rendering Plugin for Maya
For consumer CUDA applications, visit NZone

 
joo: Et donc, finalement, la demande a été satisfaite !

Extrait de la demande, exemples de demandes :

Oui, Andrei, tu es sérieusement préparé, bravo ! Félicitations à MetaQuotes qui a su saisir la tendance à temps !

 
Mathemat:

Oui, Andrei, tu es sérieusement préparé, bravo ! Félicitations à MetaQuotes qui a su saisir la tendance à temps !

Merci, Alexey, mais je n'ai pas vraiment de raison de te remercier.

Mais respect à MetaQuotes! - Nous assistons à la naissance de la première plateforme de trading au monde qui prend en charge le calcul par le GPU !

 

Je vais le copier du forum des cinq cœurs, je pense :

Mathemat:


Processeur - Pentium G840 @ 2.8 GHz.

Pas de carte vidéo discrète du tout ! (Non, non, je ne mens pas car j'ai construit le système moi-même). En d'autres termes, le GPU est un Intel HD Graphics, pas même un HD Graphics 2000.

Ce qui implique ce qui suit :

1. Les cartes graphiques intégrées des processeurs Sandy Bridge prennent en charge OpenCL. Pour une raison quelconque, je pensais qu'Intel n'introduirait le support OpenCL pour les graphiques intégrés qu'avec Ivy Bridge...

2. et il n'est pas si faible - au niveau d'une GeForce GT 440 sur cette tâche particulière...

Plus d'informations :

1. Carte mère MSI H61M-P21. Budget, fin janvier, je l'ai acheté pour 1600 roubles. Mémoire - 2 x 4 GB DDRIII 1333. Pas grand-chose d'autre.

2. J'ai téléchargé le SDK depuis AMD en suivant le lien dans le premier message de ce fil de discussion. Je l'ai fait parce que l'outil OpenCL-Z ne voulait rien voir. C'est peut-être à ce moment-là qu'OpenCL s'est levé.

AlexEro : Voici le SDK logiciel (avec pilote CPU) pour le développeur AMD (annoncé pour Vista-Win7 mais fonctionne aussi sur WinXP. Sans carte vidéo, ils fonctionnent avec succès sur le CPU, et sur n'importe quel processeur SSE d'Intel, pas seulement AMD) :

http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx

Il s'agit donc d'une mise en œuvre logicielle pour le CPU. Eh bien, il fonctionne assez bien - surtout si l'on tient compte de la "faiblesse" de l'intégration d'Intel... Bravo à AMD, un si bon conducteur pour les pierres de son concurrent !

______________________________________________________________

Jetez-y un coup d' œil, en commençant par le billet de MetaDriver(vous y trouverez également le script). Les tests des monstres discrets montrent une accélération jusqu'à 200x sur cette tâche. Mais 25 ans, ce n'est pas mal non plus, hein ?

 

Mathemat:

...

Regardez ici, en commençant par le post de MetaDriver(le script est là aussi). Les tests de monstres discrets montrent une accélération jusqu'à 200x sur cette tâche. Mais 25 ans, ce n'est pas mal non plus, hein ?

J'en suis à 12 fois. Mais il y a probablement quelque chose là-dedans qui me bloque, alors il faudra que je me penche sur la question...
 

Et pourquoi ça ?

2012.03.05 10:29:16     Terminal        GPU: NVIDIA Corporation GeForce GT 525 M with OpenCL 1.0 (2 units, 1200 MHz, 993 Mb, version 265.94)

И

2012.03.05 11:34:20     ParallelTester_00-01 x (USDJPY,H1)       OpenCL not found.

À cause de la version du pilote ?

 
Jetez un coup d'œil au fil de discussion sur le forum des cinq voitures. Quelqu'un là-bas semble avoir eu des problèmes similaires.
 

Chers collègues, vous allez avoir BEAUCOUP de confusion et de bégaiements avec OpenCL. Ne vous attendez pas à des résultats faciles.

Certains d'entre eux ont déjà été brûlés dans le forum mql5.

Il y a beaucoup de problèmes parce qu'OpenCL est une technologie logicielle qui se superpose au pilote vidéo. En fait, le pilote vidéo devient un petit système d'exploitation. Tout ce qui s'y accroche en cours de route : UltraVNC, MSI afterbufner, Agnitum OutPost web-control interactif et un millier d'autres programmes peuvent tous entraver le fonctionnement normal d'OpenCL.

Cela dit, même si vous parvenez à faire fonctionner OpenCL pour des calculs threadés simples, il reste un autre obstacle insurmontable à surmonter, à savoir : pour les calculs complexes, la précision technologique (support partiel 32 bits IEEE) et opérationnelle(perte de précision lors de l'overclocking d'une carte de jeu) du GPU n'est toujours pas suffisante pour les calculs scientifiques sérieux. En outre, alors que les GPU nVidia disposent d'un traitement de double précision 64 bits sur presque toutes les cartes vidéo modernes, les cartes vidéo AMD n' en disposent que sur certaines séries haut de gamme : 79xx, 69xx, 59xx, 48xx. nVidia a également un autre problème - ils sont dans une seule et même équipe avec Microsoft et par conséquent leurs célèbres CUDA (et OpenCL) ne fonctionnent pas sur Server 2003, par exemple, mais ils fonctionnent bien sur Server 2008 et même sur le vieux Win XP - purement pour des raisons de marketing de la part de Microsoft. De plus, nVidia est bien sûr conscient des problèmes de défaillances des cartes graphiques, des défaillances de la mémoire graphique, de l'imprécision de la chaleur (qui n'est pas un problème dans les jeux mais un problème dans la finance et l'informatique scientifique), c'est pourquoi ils font payer 4 fois le prix de leurs VRAIES cartes de calcul de la série Tesla avec une mémoire ECC fiable et un mode "production" de 24 heures.

OpenCL permet d'effectuer rapidement des calculs 32 bits imprécis en continu, comme la convolution, le filtrage ou le rendu.