Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
caf5b7a
Add namespace ModuleBase to files that uses CUDA.
ddhhss Aug 27, 2021
38341ee
change input of magnetization angle
ZhouGD2000 Aug 30, 2021
9b239d1
there is bug still
ZhouGD2000 Aug 30, 2021
61a91e8
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Aug 30, 2021
7703921
Dockerfile: remove boost
caic99 Aug 30, 2021
0d155f8
Add CHECK_CUDA.
ddhhss Aug 30, 2021
7372fb2
Merge pull request #336 from dyzheng/reconstruction
dyzheng Aug 30, 2021
8badc4c
module cell:replace all GlobalC::ORB by passing variable; replace Glo…
wenfei-li Aug 30, 2021
8e4989b
small change on organization of magnet
ZhouGD2000 Aug 30, 2021
c739b15
Merge pull request #337 from wenfei-li/reconstruction
dyzheng Aug 30, 2021
377a1a3
fix a small bug
ZhouGD2000 Aug 31, 2021
87ab60c
move the tmp variable for debug out
ZhouGD2000 Aug 31, 2021
79e739e
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Aug 31, 2021
2d7a5f6
Add github hosted test pipeline for forks.
caic99 Aug 31, 2021
6208c49
Run github hosted test on self docker image
caic99 Aug 31, 2021
fb1a4b2
Merge branch 'deepmodeling:reconstruction' into reconstruction
caic99 Aug 31, 2021
6990ae7
build testing
caic99 Aug 31, 2021
1623c7c
Login to ghcr.io
caic99 Aug 31, 2021
9bd7584
Update hosted_test.yml
caic99 Aug 31, 2021
d782fec
Separate build and test
caic99 Aug 31, 2021
aa40fef
Remove test
caic99 Aug 31, 2021
86b2428
module_cell:make consistent order of arguments
wenfei-li Aug 31, 2021
72a47ab
Use cmake to compile OpenBLAS
caic99 Aug 31, 2021
d62f7ca
module_cell : removed some GlobalV::ofs_running
wenfei-li Aug 31, 2021
1318517
module_cell unit test : setup_cell works both with and without LCAO(m…
wenfei-li Aug 31, 2021
75a8a17
Reuse cublasHandle and cufftHandle to improve performance.
ddhhss Aug 31, 2021
2f93e46
module_cell : add an example for unit test
wenfei-li Aug 31, 2021
95e684d
Update Dockerfile
caic99 Aug 31, 2021
35ee01e
module_orbital : slight change for unit test
wenfei-li Aug 31, 2021
72fcf9a
Fix Openblas install prefix
caic99 Aug 31, 2021
2bf6c67
Fix OpenBLAS install path
caic99 Aug 31, 2021
7092978
remove unneccesary output for debug
ZhouGD2000 Aug 31, 2021
6c1f7a3
remove GlobalC::ucell from build_ST_new
wenfei-li Aug 31, 2021
e4cba62
module_orbital : move unit test source files to tests
wenfei-li Aug 31, 2021
9e54849
module_cell : move unit test source files to tests
wenfei-li Sep 1, 2021
24aa225
Add test for blas_connector.h
Chentao168 Sep 1, 2021
de49fd0
module_orb, module_cell : remove output / executables from unit tests
wenfei-li Sep 1, 2021
322e37b
Merge pull request #338 from wenfei-li/reconstruction
dyzheng Sep 1, 2021
a9e3b53
Merge pull request #339 from Chentao168/reconstruction
dyzheng Sep 1, 2021
bd871f4
test for non collinear magnetization input
ZhouGD2000 Sep 2, 2021
44da633
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 2, 2021
99ee792
rename hpw_handle.
ddhhss Sep 2, 2021
5a9d41a
Fix bug of timer of function c_bands().
ddhhss Sep 2, 2021
b0b8ff0
add global variable soc_lambda
dyzheng Sep 2, 2021
035e503
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
dyzheng Sep 2, 2021
25cc603
Merge pull request #340 from dyzheng/reconstruction
dyzheng Sep 2, 2021
c2f0f9f
update document
ZhouGD2000 Sep 2, 2021
792dd99
update README for test
ZhouGD2000 Sep 2, 2021
e274b2e
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 2, 2021
e05d227
update document
ZhouGD2000 Sep 2, 2021
875d492
update document
ZhouGD2000 Sep 2, 2021
403c12e
update document
ZhouGD2000 Sep 2, 2021
7d2828c
correct STRU file for a test
ZhouGD2000 Sep 2, 2021
bd3fc49
fixed main function of symmetry module to fit the new modifications
Liu-RX Sep 2, 2021
a43fa9f
Merge pull request #343 from Liu-RX/reconstruction
Liu-RX Sep 2, 2021
1e139cc
module_orbital : remove GlobalC from snap_psipsi
wenfei-li Sep 2, 2021
a1e7bad
module_cell, module_orb : some changes in unit tests
wenfei-li Sep 2, 2021
8735498
module_orbital : remove GlobalC from snap_psibeta
wenfei-li Sep 2, 2021
29b7492
fix bug in module_md
YuLiu98 Sep 3, 2021
1bcf9f2
fix a small bug in output of lattice parameter in symmetry analysis
ZhouGD2000 Sep 3, 2021
d63f69d
Merge pull request #342 from ZhouGD2000/reconstruction
dyzheng Sep 3, 2021
98ead5c
Merge pull request #345 from wenfei-li/reconstruction
dyzheng Sep 3, 2021
9e67c32
module_cell : add k points to to unit test
wenfei-li Sep 3, 2021
a415e2b
fix a tiny bug : declare input_mag
wenfei-li Sep 3, 2021
d80e4d0
Merge branch 'deepmodeling:reconstruction' into reconstruction
caic99 Sep 3, 2021
bf1204d
fix a bug about timekeeping
ZhouGD2000 Sep 3, 2021
dfef88f
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 3, 2021
c398856
fix bug in module_cell
YuLiu98 Sep 3, 2021
21bc501
correct some spelling mistake
ZhouGD2000 Sep 3, 2021
09e3e9d
fix gaussisn factor in DOS
YuLiu98 Sep 4, 2021
a7aa9b3
merge and maintain independence of module_md
YuLiu98 Sep 4, 2021
184abcf
update result.ref of 107_PW_OD_outputdos and 207_NO_KP_OD
YuLiu98 Sep 4, 2021
3cbc847
Merge pull request #348 from YuLiu98/reconstruction
YuLiu98 Sep 4, 2021
95109ab
add time ticker for roundtrip
ddhhss Sep 5, 2021
2073ff2
fix conflict
wenfei-li Sep 6, 2021
720351d
remove obsolete variable input_mag
wenfei-li Sep 6, 2021
151609d
Merge pull request #347 from wenfei-li/reconstruction
dyzheng Sep 6, 2021
619a403
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 6, 2021
8ab4713
discard the change of symmetry.cpp
ZhouGD2000 Sep 6, 2021
1302542
Merge pull request #349 from ZhouGD2000/reconstruction
dyzheng Sep 6, 2021
386f551
remove GlobalC::ORB from module_orbital
wenfei-li Sep 6, 2021
6df528d
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
wenfei-li Sep 6, 2021
9d23581
Merge branch 'deepmodeling:reconstruction' into reconstruction
caic99 Sep 7, 2021
3eafaf9
LCAO nonlocal : accelerate calculations, method1
wenfei-li Sep 7, 2021
ba3e343
removed nonlocal projector Beta and some informations from module_orb…
dyzheng Sep 7, 2021
5f2a6d5
Merge pull request #351 from dyzheng/reconstruction
dyzheng Sep 7, 2021
b286c70
Revert "Reconstruction: removed nonlocal projector Beta and some info…
dyzheng Sep 8, 2021
13d6bd9
update Cmakelist : remove mirror for googletest
wenfei-li Sep 8, 2021
7a5e797
update cal_ux for libxc
wenfei-li Sep 8, 2021
f450940
get_nonlocal_beta : fixed a bug
wenfei-li Sep 8, 2021
00c94ec
Merge branch 'reconstruction' of https://github.com/deepmodeling/abac…
wenfei-li Sep 8, 2021
ce58745
Add Intel oneAPI Dockerfile support.
caic99 Sep 8, 2021
f65db15
Remove function Reorder_psi, but still have problems with __MPI!
ddhhss Sep 8, 2021
a1428da
LCAO nonlocal : another method for acceleration
wenfei-li Sep 8, 2021
a598f7e
Merge pull request #352 from wenfei-li/reconstruction
dyzheng Sep 8, 2021
3c9b6e1
Reverting changes attempting to use cmake.
caic99 Sep 9, 2021
9917c01
Workflow now builds both images.
caic99 Sep 9, 2021
f6b856b
Fix dockerfile path in container.yml
caic99 Sep 9, 2021
a28d96f
Remove CONTAINER env. Replacing it with given name using tags.
caic99 Sep 9, 2021
4454a47
Devcontainer now use pre-built docker image directly.
caic99 Sep 9, 2021
953e0c8
Fix: use ghcr.io rather than default docker.io
caic99 Sep 9, 2021
11cbad6
Use former abacus-development-kit as docker image tag prefix.
caic99 Sep 9, 2021
a685fa2
Use recommended method to log in ghcr.io .
caic99 Sep 9, 2021
9cc1bf9
fix a small bug about force, and format file
ZhouGD2000 Sep 9, 2021
92eb081
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 9, 2021
26864a3
Fix: will -lgfortran only using gnu compilers, but not intel compilers.
caic99 Sep 9, 2021
7fff535
format file
ZhouGD2000 Sep 9, 2021
730db2d
add `bc` to `Dockerfile.intel` for `Autotest.sh`.
caic99 Sep 9, 2021
02d2a70
LCAO nonlocal : use unordered map
wenfei-li Sep 9, 2021
7cc57d0
Set compiler env vars.
caic99 Sep 10, 2021
4c4e70d
Fix block parameter.
ddhhss Sep 10, 2021
4a372ea
Add cuda docker image.
caic99 Sep 10, 2021
c4b59de
... and the dockerfile.cuda based on dockerfile.gnu
caic99 Sep 10, 2021
422086a
Add gnupg requirement.
caic99 Sep 10, 2021
4bb8994
Fix Dockerfile.cuda
caic99 Sep 10, 2021
e33863a
Fix add-apt-repository: add software-properties-common as requirement.
caic99 Sep 10, 2021
872c262
Merge pull request #353 from caic99/reconstruction
dyzheng Sep 10, 2021
57ae6a9
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 10, 2021
bc18e13
add MPI communication for setting of initial velocities
lyb9812 Sep 10, 2021
ccad1f0
update tddft autotest
lyb9812 Sep 10, 2021
0286c2b
update tddft autotest
lyb9812 Sep 10, 2021
a4a6ebe
Merge pull request #354 from wenfei-li/reconstruction
dyzheng Sep 10, 2021
697b8bf
Merge pull request #355 from lyb9812/reconstruction
dyzheng Sep 10, 2021
74a384c
Merge branch 'reconstruction' of github.com:deepmodeling/abacus-devel…
ZhouGD2000 Sep 10, 2021
baa213d
Using local runfile instead of apt source, since there are potential …
caic99 Sep 10, 2021
d56ece2
Reconstruction: nonlocal part in LCAO, fixed bug of test_force output…
dyzheng Sep 10, 2021
8613571
Fix wget command.
caic99 Sep 10, 2021
4cf2dd4
Fix: forget &&
caic99 Sep 10, 2021
9739cbe
accidental change INPUT of a test before. Now recover it
ZhouGD2000 Sep 10, 2021
4888dc9
format the file
ZhouGD2000 Sep 10, 2021
cb11811
Intel compilers are not compatiable of nvcc.
caic99 Sep 10, 2021
8d7575b
Merge pull request #356 from caic99/reconstruction
caic99 Sep 10, 2021
3065ee9
fixed conflicts of merge of zhengdy-reconstruction and liwenfei-updata
dyzheng Sep 12, 2021
fc32850
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
dyzheng Sep 12, 2021
3021134
Merge pull request #357 from ZhouGD2000/reconstruction
dyzheng Sep 12, 2021
8a201e8
fixed conflicts of last merge
dyzheng Sep 12, 2021
92115dd
Append cuda binary path.
caic99 Sep 12, 2021
0ca92d0
Merge pull request #360 from caic99/reconstruction
caic99 Sep 12, 2021
f7ff51e
Modify 2 bugs of TD.
HeFuxiang94 Sep 13, 2021
0514030
Fix `test.yml` compatiability with `cmake`
caic99 Sep 13, 2021
4f1878f
Add `--verbose` option for `test.yml`
caic99 Sep 13, 2021
b09ea19
Merge pull request #361 from HeFuxiang94/reconstruction
dyzheng Sep 13, 2021
4343505
Merge pull request #362 from caic99/reconstruction
dyzheng Sep 13, 2021
ed5b0b5
exchange H1 & H2 in TD pzgemm.
HeFuxiang94 Sep 13, 2021
628b408
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
dyzheng Sep 14, 2021
5e5fa77
Merge pull request #359 from dyzheng/reconstruction
dyzheng Sep 14, 2021
5efc10d
Merge pull request #363 from HeFuxiang94/reconstruction
dyzheng Sep 14, 2021
39b507d
Merge branch 'develop' of https://github.com.cnpmjs.org/abacusmodelin…
dyzheng Sep 14, 2021
ec2cc10
Merge branch 'abacusmodeling:develop' into cuda11
ddhhss Sep 14, 2021
f372b05
Change Diago_CG_GPU into a template class.
ddhhss Sep 14, 2021
da2af77
Merge branch 'cuda11' of https://github.com/deepmodeling/abacus-devel…
ddhhss Sep 14, 2021
5ede1d8
LCAO nonlocal force & stress: switch to new method
wenfei-li Sep 14, 2021
e029f57
Merge changes on cuda11 branch to create a stable test pipeline
caic99 Sep 14, 2021
2cb728b
LCAO nonlocal energy : further acceleration
wenfei-li Sep 14, 2021
9b7e7c8
LCAO nonlocal stress: fix a minor bug
wenfei-li Sep 14, 2021
9ee023f
Merge pull request #365 from wenfei-li/reconstruction
dyzheng Sep 15, 2021
d7733ae
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
dyzheng Sep 16, 2021
853da95
open all test cases in tests/integral as default!
dyzheng Sep 16, 2021
481f2c9
fixed bug of k points line bug caused by deleting of WFC_K_aug
dyzheng Sep 17, 2021
15b7754
Merge pull request #367 from dyzheng/reconstruction
dyzheng Sep 17, 2021
30436bd
Merge branch 'reconstruction' of https://github.com.cnpmjs.org/deepmo…
dyzheng Sep 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .devcontainer/Dockerfile

This file was deleted.

35 changes: 4 additions & 31 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,5 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.183.0/containers/docker-existing-dockerfile
// For format details, see https://aka.ms/devcontainer.json.
{
"name": "Existing Dockerfile",

// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",

// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerFile": "Dockerfile",

// Set *default* container specific settings.json values on container create.
"settings": {},

// Add the IDs of extensions you want installed when the container is created.
"extensions": []

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Uncomment the next line to run commands after the container is created - for example installing curl.
// "postCreateCommand": "apt-get update && apt-get install -y curl",

// Uncomment when using a ptrace-based debugger like C++, Go, and Rust
// "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],

// Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],

// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "vscode"
}
"image":"ghcr.io/deepmodeling/abacus-development-kit:gnu",
"extensions": ["ms-vscode.cpptools-extension-pack"]
}
18 changes: 11 additions & 7 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,31 @@ on:
- develop
- reconstruction

env:
CONTAINER: ghcr.io/${{ github.repository_owner }}/abacus-development-kit:gnu

jobs:
build_container_and_push:
runs-on: ubuntu-latest
strategy:
matrix:
dockerfile: ["gnu","intel","cuda"]
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ secrets.OWNER }}
password: ${{ secrets.PAT }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and Push Container
uses: docker/build-push-action@v2
with:
tags: ${{ env.CONTAINER }}
cache-from: type=registry,ref=${{ env.CONTAINER }}
tags: ghcr.io/${{ github.repository_owner }}/abacus-development-kit:${{matrix.dockerfile}}
file: Dockerfile.${{matrix.dockerfile}}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/abacus-development-kit:${{matrix.dockerfile}}
cache-to: type=inline
push: true
23 changes: 23 additions & 0 deletions .github/workflows/hosted_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Test

on:
push:
branches:
- develop
- reconstruction

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
dockerfile: ["gnu","intel","cuda"]
container: ghcr.io/${{ github.repository_owner }}/abacus-development-kit:${{ matrix.dockerfile }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: |
cmake -B build -DBUILD_TESTING=ON
cmake --build build -j4
cmake --install build
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
cmake -B build -DBUILD_TESTING=ON
cmake --build build -j16
cmake --install build
ctest --test-dir build --verbose
cmake --build build --target test ARGS="-V"
stop-runner:
name: Stop self-hosted EC2 runner
needs:
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -198,11 +198,11 @@ else()
)
endif()

# if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(CMAKE_COMPILER_IS_GNUCXX)
target_link_libraries(${ABACUS_BIN_NAME}
-lgfortran
)
# endif()
endif()

if(ENABLE_DEEPKS)
target_link_libraries(${ABACUS_BIN_NAME}
Expand Down
6 changes: 6 additions & 0 deletions Dockerfile.cuda
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM ghcr.io/deepmodeling/abacus-development-kit:gnu

RUN wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run --no-check-certificate --quiet \
&& sh cuda_11.4.2_470.57.02_linux.run --toolkit --silent \
&& rm cuda_11.4.2_470.57.02_linux.run
ENV PATH=/usr/local/cuda/bin:$PATH
20 changes: 5 additions & 15 deletions Dockerfile → Dockerfile.gnu
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
FROM debian:bullseye-slim

RUN apt-get update && apt-get install -y --no-install-recommends git gfortran libboost-dev libssl-dev make cmake ssh vim wget bc \
RUN apt-get update && apt-get install -y --no-install-recommends git gfortran libssl-dev make cmake vim wget bc unzip \
&& apt-get install -y --no-install-recommends mpich libmpich-dev

ENV GIT_SSL_NO_VERIFY 1

RUN cd /tmp \
&& wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz --no-check-certificate \
&& tar xf cmake-3.20.5.tar.gz cmake-3.20.5/ && cd cmake-3.20.5 \
&& ./configure && make -j8 && make install \
&& cd /tmp && rm -rf cmake-3.20.5

RUN cd /tmp \
&& git clone https://github.com/USCiLab/cereal.git \
&& cp -r cereal/include /usr/local \
Expand All @@ -30,7 +24,7 @@ RUN cd /tmp \
&& git clone https://github.com/darelbeida/elpa.git -b ELPA_2016.05.004-openblas --single-branch --depth=1 \
&& cd elpa && mkdir build && cd build \
&& ../configure CFLAGS="-O3 -march=native -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" \
FCFLAGS="-O2 -mavx" \
FCFLAGS="-O2 -mavx" \
&& make -j8 && make PREFIX=/usr/local install \
&& ln -s /usr/local/include/elpa-2016.05.004/elpa /usr/local/include/ \
&& cd /tmp && rm -rf elpa
Expand All @@ -43,21 +37,17 @@ RUN cd /tmp \
&& make -j8 && make PREFIX=/usr/local install \
&& cd /tmp && rm -rf fftw-3.3.9 && rm fftw-3.3.9.tar.gz

ENV LD_LIBRARY_PATH /usr/local/lib

RUN apt-get install -y unzip

RUN cd /tmp \
&& wget https://download.pytorch.org/libtorch/cpu/libtorch-shared-with-deps-1.9.0%2Bcpu.zip --no-check-certificate \
&& wget https://download.pytorch.org/libtorch/cpu/libtorch-shared-with-deps-1.9.0%2Bcpu.zip --no-check-certificate --quiet \
&& unzip libtorch-shared-with-deps-1.9.0+cpu.zip \
&& cp -r libtorch/include /usr/local \
&& cp -r libtorch/lib /usr/local \
&& cp -r libtorch/share /usr/local \
&& rm -rf libtorch

RUN cd /tmp \
&& wget https://gitlab.com/libxc/libxc/-/archive/5.1.5/libxc-5.1.5.tar.gz --no-check-certificate \
&& tar xvzf libxc-5.1.5.tar.gz \
&& wget https://gitlab.com/libxc/libxc/-/archive/5.1.5/libxc-5.1.5.tar.gz --no-check-certificate --quiet \
&& tar xzf libxc-5.1.5.tar.gz \
&& cd libxc-5.1.5 \
&& mkdir build \
&& cmake -B build -DBUILD_TESTING=OFF \
Expand Down
49 changes: 49 additions & 0 deletions Dockerfile.intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
FROM debian:bullseye-slim

RUN apt-get update && apt-get install -y bc cmake git gnupg gcc g++ sudo wget vim unzip

# Following steps by https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html .
RUN cd /tmp && \
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB && \
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB && \
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB && \
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list

# To save disk space, only install the required components, but not the whole intel-hpckit.
RUN apt-get update --allow-unauthenticated \
&& apt-get install -y \
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic \
intel-oneapi-compiler-fortran \
intel-oneapi-mkl-devel \
intel-oneapi-mpi-devel

# These environment variables are the most essential part generated by `source /opt/intel/oneapi/setvars.sh`.
# It is recommended to do it again if this docker image is used for development.
ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest \
LIBRARY_PATH=/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest//libfabric/lib:/opt/intel/oneapi/mpi/latest//lib/release:/opt/intel/oneapi/mpi/latest//lib:/opt/intel/oneapi/mkl/latest/lib/intel64:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/intel/oneapi/compiler/latest/linux/lib \
LD_LIBRARY_PATH=/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest//libfabric/lib:/opt/intel/oneapi/mpi/latest//lib/release:/opt/intel/oneapi/mpi/latest//lib:/opt/intel/oneapi/mkl/latest/lib/intel64:/opt/intel/oneapi/debugger/10.1.2/gdb/intel64/lib:/opt/intel/oneapi/debugger/10.1.2/libipt/intel64/lib:/opt/intel/oneapi/debugger/10.1.2/dep/lib:/opt/intel/oneapi/compiler/latest/linux/lib:/opt/intel/oneapi/compiler/latest/linux/lib/x64:/opt/intel/oneapi/compiler/latest/linux/lib/emu:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin \
PATH=/opt/intel/oneapi/mpi/latest//libfabric/bin:/opt/intel/oneapi/mpi/latest//bin:/opt/intel/oneapi/mkl/latest/bin/intel64:/opt/intel/oneapi/dev-utilities/latest/bin:/opt/intel/oneapi/debugger/10.1.2/gdb/intel64/bin:/opt/intel/oneapi/compiler/latest/linux/bin/intel64:/opt/intel/oneapi/compiler/latest/linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
MKLROOT=/opt/intel/oneapi/mkl/latest \
I_MPI_ROOT=/opt/intel/oneapi/mpi/latest

# Using the Intel Compilers with mpi wrapper.
# Further test on oneAPI Compilers needed: icx, icpx, ifx
ENV CC=/opt/intel/oneapi/mpi/latest/bin/mpiicc \
CXX=/opt/intel/oneapi/mpi/latest/bin/mpiicpc \
FC=/opt/intel/oneapi/mpi/latest/bin/mpiifort

SHELL ["/bin/bash", "-c"]
RUN source /opt/intel/oneapi/setvars.sh \
&& cd /tmp \
&& git clone https://github.com/darelbeida/elpa.git -b ELPA_2016.05.004-openblas --single-branch --depth=1 \
&& cd elpa && mkdir build && cd build \
&& ../configure FCFLAGS="-mkl=cluster" \
&& make -j8 \
&& make PREFIX=/usr/local install \
&& ln -s /usr/local/include/elpa-2016.05.004/elpa /usr/local/include/ \
&& cd /tmp && rm -rf elpa

RUN cd /tmp \
&& git clone https://github.com/USCiLab/cereal.git \
&& cp -r cereal/include /usr/local \
&& rm -rf cereal
9 changes: 0 additions & 9 deletions doc/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@

- [DFT+U correction](#DFT_U-correction)

-[Start magnetization](#Start-magnetization)

- [VdW correction](#vdw-correction)

[vdw_method](#vdw-method) | [vdw_s6](#vdw-s6) | [vdw_s8](#vdw-s8) | [vdw_a1](#vdw-a1) | [vdw_a2](#vdw-a2) | [vdw_d](#vdw-d) | [vdw_abc](#vdw-abc) | [vdw_C6_file](#vdw-C6-file) | [vdw_C6_unit](#vdw-C6-unit) | [vdw_R0_file](#vdw-R0-file) | [vdw_R0_unit](#vdw-R0-unit) | [vdw_model](#vdw-model) | [vdw_radius](#vdw-radius) | [vdw_radius_unit](#vdw-radius-unit) | [vdw_cn_radius](#vdw-cn-radius) | [vdw_cn_radius_unit](#vdw-cn-radius-unit) | [vdw_period](#vdw-period)
Expand Down Expand Up @@ -1210,13 +1208,6 @@ This part of variables are used to control DFT+U correlated parameters

[back to top](#input-file)

### Start magnetization
- magmom
- *Type*: Real
- *Description*: This set the start magnetization for each atom. The input magmom should be seperated by space and in the same order of STRU file. Different atoms with same magetic moment could be abbreviated as n\*magmom(NOTICE:No space before and after '\*').If one set the start magnetization here, they MUST NOT be specified again in STRU file(In STRU file, one could only set magnetic moment for each type of atom, but here setting different magnetic moment for the same kind of atom is allowed).
- *Default*: 0.0
[back to top](#input-file)


### VdW correction
This part of variables are used to control vdW-corrected related parameters.
Expand Down
24 changes: 21 additions & 3 deletions doc/input-stru.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,13 @@ Direct //Cartesian or Direct coordinate.
Si // Element type
0.0 // magnetism
2 // number of atoms
0.00 0.00 0.00 0 0 0
0.00 0.00 0.00 0 0 0//the position of atoms and other parameter specify by key word
0.25 0.25 0.25 1 1 1
```
The LATTICE_VECTORS section is removed.



[back to top](#stru-file)


Expand Down Expand Up @@ -194,8 +196,24 @@ information that comes below.

This section specifies the positions and other information of individual atoms. The first line signifies whether atom positions are given in `Cartesian` or `Direct` coordinates.

The following three lines tells the elemental type (`Si`), the initial magnetic moment (`0.0`), and the number of atoms for this particular element (`2`) repsectively.
The following three lines tells the elemental type (`Si`), the initial magnetic moment (`0.0`), and the number of atoms for this particular element (`2`) repsectively. Notice this magnetic moment will be a default value for every atom of this type but will be overrided if one define it for each atom by keyword(see below).

The last two lines in this example are the coordinates of atomic positions. There are six numbers in each line: the first three specifies the atomic positions and the last three control how the atom move in geometry relaxation calculations. The numbers `0 0 0` following the coordinates of the first atom means this atom are *not allowed* to move in all three directions, and the numbers `1 1 1` following the coordinates of the second atom means this atom *can* move in all three directions.
The last two lines in this example are the coordinates of atomic positions. There are three numbers in each line, which specifies the atomic positions, following by other parameters marked by keywords.

Several other parameters could be defined after the atom position using key word :
- `m` or NO key word: three numbers, which take value in 0 or 1, control how the atom move in geometry relaxation calculations. The numbers `0 0 0` following the coordinates of the first atom means this atom are *not allowed* to move in all three directions, and the numbers `1 1 1` following the coordinates of the second atom means this atom *can* move in all three directions.
- `v` or `vel` or `velocity`: set the three components of initial velocity of atoms in geometry relaxation calculations.
- `mag` or `magmom` : set the start magnetization for each atom. In colinear case only one number should be given. In non-colinear case one have two choice:either set one number for the norm of magnetization here and specify two polar angle later, or set three number for the xyz commponent of magnetization here.
- `angle1`: in non-colinear case, specify the angle between c-axis and real spin, in angle measure instead of radian measure
- `angle2`: in non-colinear case, specify angle between a-axis and real spin in projection in ab-plane , in angle measure instead of radian measure

e.g.:
```
Fe
1
2
0.0 0.0 0.0 0 0 0 angle1 90 angle2 0
0.5 0.5 0.5 0 0 0 angle1 90 angle2 180
```

[back to top](#stru-file)
1 change: 1 addition & 0 deletions source/Makefile.Objects
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ symmetry_rho.o \
symm_other.o \
eximport.o \
mulliken_charge.o\
setup_nonlocal.o\

OBJS_PDIAG=pdgseps.o \
pzgseps.o \
Expand Down
9 changes: 4 additions & 5 deletions source/input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,6 @@ bool Input::Read(const std::string &fn)
}

ifs.rdstate();
input_mag=false;
while (ifs.good())
{
ifs >> word1;
Expand Down Expand Up @@ -1712,7 +1711,7 @@ bool Input::Read(const std::string &fn)
{
read_value(ifs, soc_lambda);
}
else if (strcmp("angle1", word) == 0)
/* else if (strcmp("angle1", word) == 0)
{
angle1.resize(ntype);
for(auto &i:angle1)
Expand All @@ -1723,7 +1722,7 @@ bool Input::Read(const std::string &fn)
angle2.resize(ntype);
for (auto &i : angle2)
read_value(ifs, i);
}
}*/
//else if (strcmp("epsilon0_choice", word) == 0)
//{
// read_value(ifs, epsilon0_choice);
Expand All @@ -1742,6 +1741,7 @@ bool Input::Read(const std::string &fn)
}
//---------------
//start magnetic
/*
#ifndef __CMD
else if (strcmp("magmom", word) == 0)
{
Expand Down Expand Up @@ -1810,11 +1810,10 @@ bool Input::Read(const std::string &fn)
atom_mag[i]=mags[n_m];
cout<<"atom_mag"<<atom_mag[i];
}
input_mag=true;
}

#endif

*/
//--------------
//----------------------------------------------------------------------------------
// Xin Qu added on 2020-10-29 for DFT+U
Expand Down
1 change: 0 additions & 1 deletion source/input.h
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,6 @@ class Input
//double ocp_kb[10000];
int lcao_box[3]; // the scale for searching the existence of the overlap <i,0|j,R>
int mulliken;//qifeng add 2019-9-10
bool input_mag;
double* atom_mag;
int n_mag_at;
//added by zhengdy-soc
Expand Down
6 changes: 4 additions & 2 deletions source/input_conv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ void Input_Conv::Convert(void)
GlobalC::ucell.ntype = INPUT.ntype;
GlobalC::ucell.lmaxmax = INPUT.lmaxmax;
GlobalC::ucell.set_vel = INPUT.set_vel;
GlobalV::out_descriptor = INPUT.out_descriptor;

GlobalV::NBANDS = INPUT.nbands;
GlobalC::wf.seed = INPUT.seed;
Expand Down Expand Up @@ -319,11 +320,11 @@ void Input_Conv::Convert(void)
GlobalC::dftu.J = INPUT.hund_j; //Hund exchange parameter J(ev)
}
}
/*
#ifndef __CMD
GlobalC::ucell.input_mag=INPUT.input_mag;
GlobalC::ucell.n_mag_at=INPUT.n_mag_at;
GlobalC::ucell.atom_mag=INPUT.atom_mag;
#endif
#endif*/
//--------------------------------------------
// added by zhengdy-soc
//--------------------------------------------
Expand All @@ -347,6 +348,7 @@ void Input_Conv::Convert(void)
GlobalV::DOMAG_Z = true;
}
GlobalV::LSPINORB = INPUT.lspinorb;
GlobalV::soc_lambda = INPUT.soc_lambda;

delete[] GlobalC::ucell.magnet.m_loc_;
delete[] GlobalC::ucell.magnet.angle1_;
Expand Down
Loading