AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenCL / CUDA

Ein Thema von Michael II · begonnen am 19. Sep 2023 · letzter Beitrag vom 6. Okt 2023
 
Michael II
Online

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
742 Beiträge
 
Delphi 11 Alexandria
 
#1

OpenCL / CUDA

  Alt 19. Sep 2023, 16:09
Alle paar Jahre (zuletzt im 2004) nehme ich eine alte Delphi Software aus dem letzten Jahrtausend hervor (Mathematik) und verbessere einige Dinge. Dabei geht es v.a. auch um Speed-Optimierung.

Ich frage mich nun, wieviel Sinn es macht, OpenCL oder CUDA Unterstützung einzubauen. Leider habe ich noch null Ahnung von OpenCL/CUDA.

Ich habe einen integer-Vektor/Array mit etwas über 200'000 Elementen.
Auf diesen Vektor wirkt wiederholt (zum Beispiel 100'000 Mal) eine von 20 Abbildungen, f1,..,f20.

Jede Abbildung fi, welche v in v' überführt ist sehr einfach:

- Es werden jeweils 2 bis 10 der Vektorelemente addiert zu einer Summe s.
- s wird mit einer Konstanten c multipliziert.
- Ein weiteres Vektorelement vk wird mit einer Konstanten d multipliziert.
- Die Summe c*s + vk*d wird in vk' geschrieben.

Jedes Vektorelement wird dabei durch fi genau einmal gelesen und jedes vk' genau einmal geschrieben.

D.h. die Berechnungen der etwa 50'000 vk' können parallel ablaufen und die Werte vk' können direkt wieder in v geschrieben werden (kein zusätzlicher Speicher für v' nötig).


Ich habe die Berechnung mit parallel.for und mit Tasks aufgeteilt (da fi sehr rasch berechnet werden kann, habe ich die Aufgabe in nur zwei Teile geteilt - bei mehr Teilen verliere ich gegenüber einer "single thread Lösung"); das bringt aber leider nur etwa 20% Zeitgewinn.

Wäre eine OpenCL/CUDA Lösung viel schneller?
Michael Gasser
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz