OpenCl and the tools for it. Reviews and impressions. - page 26

 
Mathemat:
Ah, namesake, you're going downhill now, aren't you?

Do you understand the subject?
 

Nope. Haven't driven, don't drive and don't intend to.

But I've heard, of course, that VAZ may well be better in our parts of the world.

 

Someone here looks like the Chinese who tried a ride on the new high-speed trains. Did you like it? - "Nah, chez zur bisro - no way to watch it!"

Mathemat:

That's probably something you should ask joo . He likes to teach the nerves in real time.

I've posted performance tests of neurocells using different compilers. Hopefully soon, I'll post another test case - GPU calculations.

Mathemat:
Now try telling joo that he's "dumping crap into the NS"...

It's also possible to dump the nonsense. Much faster to understand what is nonsense and what is not, because in many cases, and especially when experimenting, you can not know in advance. Also, as the speed of grid calculations increases, so does the ability to increase the dimensionality of input signals - and this is a "sis" to the door of multicurrency analysis.

Also, anyone who trades options knows how extensive calculations are required to analyze multiple options and select the most promising one out of them. There will be a "sisam" here too.


And then there's the real-time training of neurocells. It would be possible to organise a "live" population that actually lives, evolves - recalculate the pre-learning on every bar... well maybe not on every bar, but after a few, but it still requires a huge cost to calculate.


There's another issue here - the amount of information that can be processed by a graphics card at a time. But I think this problem will go away in the near future too.

Man, at a time when "spaceships are sailing across the ... Big Theatre" there are people who oppose progress and do not understand why all processor chip manufacturers are so concerned about multithreading. Indeed, until two years ago it was not obvious and unnoticeable, soon it will be just 2 years since my application to servicedesk, dated

MT5+CUDA

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


At that time I was emphasizing specifically on CUDA. But then it became quite clear that OpenCL is more promising as iron-independent, and the MQ developers made the right choice.

And so, finally, the application is done!

Excerpt from the application, examples of applications:

Сегодня все знают, от новичков в программировании до профессионалов, что за параллельными вычислениями будущее программного обеспечения. И я знаю, что компания 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: And so, finally, the application has been fulfilled!

Excerpt from the application, examples of applications:

Yes, Andrei, you are seriously prepared, kudos! Kudos to MetaQuotes for catching the trend early!

 
Mathemat:

Yes, Andrei, you are seriously prepared, respect! Kudos to MetaQuotes for catching the trend early!

Thank you, Alexey, but I don't really have anything to thank you for.

But respect to MetaQuotes! - We are witnessing the birth of the world's first trading platform that supports GPU computing!

 

I'll copy it from the five-core forum, I think:

Mathemat:


Processor - Pentium G840 @ 2.8 GHz.

No discrete video card at all! (No, no, I'm not lying as I built the system myself). In other words, the GPU is Intel HD Graphics, not even HD Graphics 2000.

Which implies the following:

1. the integrated graphics on Sandy Bridge CPUs do support OpenCL. For some reason I thought Intel would only introduce OpenCL support for integrated graphics along with Ivy Bridge...

2. And it's not that weak - at the level of a GeForce GT 440 on this particular task...

More info:

1. MSI H61M-P21 motherboard. Budget, at the end of January I bought it for 1600 rubles. Memory - 2 x 4 GB DDRIII 1333. Not much else.

2. I downloaded SDK from AMD following link in the first post of this thread. I did it because the OpenCL-Z tool did not want to see anything. Maybe it was then that OpenCL got up.

AlexEro: Here is software SDK (with CPU driver) for AMD developer (announced for Vista-Win7 but works on WinXP as well. Without video card they successfully work on CPU, and on any SSE processor from Intel, not only AMD):

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

So it's a software implementation for CPU. Well, it works quite well - especially taking into account "weakness" of Intel integratedeo... Well done AMD, such a good driver for its competitor's stones!

______________________________________________________________

Check it out here, starting with MetaDriver's post (you can find the script there too). Tests of discrete monsters show up to 200x acceleration on this task. But 25 is not bad either, eh?

 

Mathemat:

...

Check here, starting with MetaDriver's post (the script is there too). Discrete monster tests show up to 200x acceleration on this task. But 25 is not bad either, eh?

I'm up to 12 times. But there's probably something in there that I'm stuck on, so I'll have to look into it...
 

And why is that?

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.

Because of the driver version ?

 
Have a look at the thread on the five-car forum. Someone there seems to have had similar problems.
 

Colleagues, you are going to have a LOT of confusion and stuttering with OpenCL. Don't expect easy results.

Some of them have already been burned in the mql5 forum.

There are a lot of hitches because OpenCL is a software technology superimposed on the video driver. In fact, the video driver becomes a small operating system. Everything that hangs on it along the way: UltraVNC, MSI afterbufner, Agnitum OutPost web-control interactive and a thousand other programs all can hinder the normal operation of OpenCL.

That said, even if you manage to make OpenCL work for simple threaded calculations, there is still another insurmountable obstacle to overcome, namely: for complex calculations - the technological (32-bit partial IEEE support) and operational(loss of precision when overclocking a game card) precision of the GPU is still not enough for serious scientific calculations. Besides, whereas nVidia GPUs have 64-bit double precision processing on almost all modern video cards, AMD video cards have it only on some top-of-the-line series: 79xx, 69xx, 59xx, 48xx. nVidia also have got another bug - they are in one gang with Microsoft and therefore their notorious CUDA (and OpenCL) actually do not work on e.g. Server 2003, but they work fine on Server 2008 and even on old Win XP - purely on the grounds of marketing considerations by Microsoft. Also nVidia are of course aware of the problems with graphics card failures, graphics memory failures, heat inaccuracy (which is not a problem in games but a problem in finance and scientific computing), that's why they charge 4 times the price for their REAL Tesla series calculation cards with reliable ECC memory and 24 hour "production" capability.

OpenCL is for fast streaming inaccurate 32-bit computations like convolution, filtering or rendering.