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