diff --git a/qmb/_hamiltonian.cpp b/qmb/_hamiltonian.cpp index 5fe4202..634fd3b 100644 --- a/qmb/_hamiltonian.cpp +++ b/qmb/_hamiltonian.cpp @@ -37,9 +37,9 @@ auto prepare(py::dict hamiltonian) { auto coef = torch::empty({term_number, 2}, torch::TensorOptions().dtype(torch::kFloat64).device(torch::kCPU)); // No need to initialize - auto site_accessor = site.template accessor(); - auto kind_accessor = kind.template accessor(); - auto coef_accessor = coef.template accessor(); + auto site_accessor = site.accessor(); + auto kind_accessor = kind.accessor(); + auto coef_accessor = coef.accessor(); std::int64_t index = 0; for (auto& item : hamiltonian) { diff --git a/qmb/hamiltonian.py b/qmb/hamiltonian.py index 7517099..3a04801 100644 --- a/qmb/hamiltonian.py +++ b/qmb/hamiltonian.py @@ -31,8 +31,8 @@ def _load_module(cls, n_qubytes: int = 0, particle_cut: int = 0) -> object: f"{folder}/_hamiltonian_cuda.cu", ], is_python_module=n_qubytes == 0, - extra_cflags=["-O3", "-ffast-math", "-march=native", f"-DN_QUBYTES={n_qubytes}", f"-DPARTICLE_CUT={particle_cut}"], - extra_cuda_cflags=["-O3", "--use_fast_math", f"-DN_QUBYTES={n_qubytes}", f"-DPARTICLE_CUT={particle_cut}"], + extra_cflags=["-O3", "-ffast-math", "-march=native", f"-DN_QUBYTES={n_qubytes}", f"-DPARTICLE_CUT={particle_cut}", "-std=c++20"], + extra_cuda_cflags=["-O3", "--use_fast_math", f"-DN_QUBYTES={n_qubytes}", f"-DPARTICLE_CUT={particle_cut}", "-std=c++20"], build_directory=build_directory, ) if n_qubytes == 0: # pylint: disable=no-else-return