Skip to content

Commit

Permalink
refactor: changing operations overloading method
Browse files Browse the repository at this point in the history
  • Loading branch information
BrunoLiegiBastonLiegi committed Feb 8, 2024
1 parent f9ea2ed commit 3b28b4a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 22 deletions.
18 changes: 7 additions & 11 deletions src/qibojit/backends/cpu.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from importlib.util import find_spec, module_from_spec

import numpy as np
from numba import njit
from qibo.backends import _clifford_operations
Expand Down Expand Up @@ -74,15 +72,13 @@ def __init__(self):
else:
self.set_threads(len(psutil.Process().cpu_affinity()))

spec = find_spec("qibo.backends._clifford_operations")
self.clifford_operations = module_from_spec(spec)
spec.loader.exec_module(self.clifford_operations)
for method in dir(clifford_operations_cpu):
setattr(
self.clifford_operations,
method,
getattr(clifford_operations_cpu, method),
)
class CliffordOperations:
pass

self.clifford_operations = CliffordOperations()
for operations in (_clifford_operations, clifford_operations_cpu):
for method in dir(operations):
setattr(self.clifford_operations, method, getattr(operations, method))

def set_precision(self, precision):
if precision != self.precision:
Expand Down
18 changes: 7 additions & 11 deletions src/qibojit/backends/gpu.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from importlib.util import find_spec, module_from_spec

import numpy as np
from qibo.backends import _clifford_operations
from qibo.backends.numpy import NumpyBackend
Expand Down Expand Up @@ -103,15 +101,13 @@ def kernel_loader(name, ktype):

from qibojit.backends import clifford_operations_gpu

spec = find_spec("qibo.backends._clifford_operations")
self.clifford_operations = module_from_spec(spec)
spec.loader.exec_module(self.clifford_operations)
for method in dir(clifford_operations_gpu):
setattr(
self.clifford_operations,
method,
getattr(clifford_operations_gpu, method),
)
class CliffordOperations:
pass

self.clifford_operations = CliffordOperations()
for operations in (_clifford_operations, clifford_operations_gpu):
for method in dir(operations):
setattr(self.clifford_operations, method, getattr(operations, method))

def set_precision(self, precision):
super().set_precision(precision)
Expand Down

0 comments on commit 3b28b4a

Please sign in to comment.