grogupy._core.gpu_solver

grogupy._core.gpu_solver(max_g_per_loop: int, mode: str, gpu_number: int, kpoints: list[ndarray[Any, dtype[_ScalarType_co]]], kweights: list[ndarray[Any, dtype[_ScalarType_co]]], SBI: ndarray[Any, dtype[_ScalarType_co]], SBI1: ndarray[Any, dtype[_ScalarType_co]], SBI2: ndarray[Any, dtype[_ScalarType_co]], Ruc: ndarray[Any, dtype[_ScalarType_co]], sc_off: ndarray[Any, dtype[_ScalarType_co]], samples: ndarray[Any, dtype[_ScalarType_co]], G_mag: ndarray[Any, dtype[_ScalarType_co]], G_pair_ij: ndarray[Any, dtype[_ScalarType_co]], G_pair_ji: ndarray[Any, dtype[_ScalarType_co]], rotated_H: ndarray[Any, dtype[_ScalarType_co]], S: ndarray[Any, dtype[_ScalarType_co]], rot_num: int | str = 'Unknown') tuple[CNDArray, CNDArray, CNDArray][source]

Parallelizes the Green’s function solution on GPU.

Should be used on large systems.

Parameters

max_g_per_loop: int

Maximum number of greens function samples per loop

modestr

The Greens function solver, which can be parallel or sequential

gpu_numberint

The ID of the GPU which we want to run on

kpointslist[NDArray]

The kpoints already split for the GPUs

kweightslist[NDArray]

The kpoint weights already split for the GPUs

SBIlist[NDArray]

Spin box indices for the magnetic entities

SBI1list[NDArray]

Spin box indices for the pairs

SBI2list[NDArray]

Spin box indices for the pairs

Ruclist[NDArray]

Unit cell shift of the pairs

sc_offNDArray

List of unit cell shifts for unit cell indexes

samplesNDArray

Energy samples

G_maglist[NDArray]

Empty container for the final Green’s function on each magnetic entity

G_pair_ijlist[NDArray]

Empty container for the final Green’s function on each pair

G_pair_jilist[NDArray]

Empty container for the final Green’s function on each pair

rotated_Hlist[NDArray]

Hamiltonian with rotated exchange field

SNDArray

Overlap matrix, should be the same for all Hamiltonians

rot_num: str, optional

Rotation number for tqdm print, by default “Unknown”

Returns

local_G_magCNDArray

The Greens function of the mangetic entities

local_G_pair_ijCNDArray

The Greens function from mangetic entity i to j on the given GPU

local_G_pair_jiCNDArray

The Greens function from mangetic entity j to i on the given GPU