Ich habe folgendes Problem: ich hab Code geschrieben, der einige Berechnungen durchfuehrt. Es gibt Klases mit der Grundimplementierung mit NumPy, und eine optimierte Implementierung, welche auf der GPU rechnet.
Die optimierte Implementierung leite ich von der NumPy-Implementierung ab, damit ich einige Komfortfunktionen zum Laden, Speichern und Darstellen der Ergebnisse/Parameter nicht duplizieren muss.
Nun moechte ich eine erweiterte Version meines Algorithmus implementieren. Es soll wieder eine Basis-Implementierung mit NumPy geben und eine erweiterte Implementierung fuer die GPU:
In Pseudocode:
Code: Alles auswählen
class NumpyBase:
# Basisimplementierung mittels numpy
# ....
class GpuBase(NumpyBase):
# gleicher Algorithmus wie NumpyBase, aber auf der GPU
# ...
class NumpyExtended(NumpyBase):
# Erweiterte Version mittels Numpy
# ...
class GpuExtended(GpuBase):
# ist 100%ig ident mit NumpyExtended.
# .....
Ich moechte das Ganze daher nach Moeglichkeit so loesen, dass ich nur mehr EINE Klasse "Extended" habe, und der irgendwie sagen kann "verwende GpuBase bzw. NumpyBase als deine Basisklasse".
Geht das Irgendwie?
