Giter Club home page Giter Club logo

latte's Introduction

Build Status codecov

LATTE

Open source density functional tight binding molecular dynamics.

#LA-CC-10-004

Copyright 2010 Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration.

All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

This is open source software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.0 of the License. If software is modified to produce derivative works, such modified software should be clearly marked, so as not to confuse it with the version available from LANL. Full text of the GNU General Public License can be found in the License file in the main development branch of the repository.

Compiling LATTE (Makefile):

Enter in the LATTE directory (cd ~/LATTE) and modify the makefile.CHOICES file according to your operative system, libraries, compiler, etc. There are several examples of makefile.CHOICES files inside the makefiles directory (~/LATTE/makefiles) that could be used as a template to replace the makefile.CHOICES that is located in the main directory.

To build the code just type make inside the main directory as follows:

      $ cd; cd ~/LATTE
      $ make; make test

The latter should build the code and test it with some examples that are located in ~/LATTE/tests.

Compiling LATTE (CMake):

To build LATTE with CMake:

$ cd; cd ~/LATTE
$ mkdir build
$ cd build
$ cmake ../cmake -D<OPTIONS>=<VALUE>
$ make

Some useful options are OPENMP (ON or OFF), DO_MPI and PROGRESS. For a full list of options use a CMake GUI, e.g. ccache or cache-gui.

Authors

Nicolas Bock (T-1) Marc Cawkwell (T-1) Josh D. Coe (T-1) Aditi Krishnapriyan (T-1 & Stanford) Matthew P. Kroonblawd (T-1 & Mizzou) Adam Lang (T-1) Chang Liu (T-1 & NCSU) Enrique Martinez Saez (MST-8) Susan M. Mniszewski (CCS-3) Christian F. A. Negre (T-1) Anders M. N. Niklasson (T-1) Edward Sanville (T-1) Mitchell A. Wood (T-1 & Purdue) Ping Yang (T-1)

Los Alamos National Laboratory

Citing

To cite the code, please proceed as follows:

DOI

with the following bibtex citation:

@misc{LATTE,
  title = {LATTE},
  url = {https://github.com/lanl/LATTE},
  author = {N. Bock and M. J. Cawkwell and J. D. Coe and A. Krishnapriyan and M. P. Kroonblawd and A. Lang and and C. Liu and E. Martinez Saez and S. M. Mniszewski and C. F. A. Negre and A. M. N. Niklasson and E. Sanville and M. A. Wood and P. Yang},
  year = {2008}
}

Contacts

Please subscribe to our mailing list to request information or send us feedback.

latte's People

Contributors

a1k12 avatar akohlmey avatar andersniklasson avatar ares201005 avatar cawkwell avatar chliu1990 avatar cnegre avatar junghans avatar nfaguirrec avatar rperriot avatar suemni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

latte's Issues

Compiling LATTE-LAMMPS as dynamic shared library

I have successfully compiled LATTE-LAMMPS as a binary (from the lammps/src directory):
make mpi
and as a static library:
make mpi mode=lib

but when compiling as a dynamic library
make mpi mode=shlib

I get the following error:
/usr/bin/ld: ../../lib/latte/liblink/liblatte.a(latte_lib.o): relocation R_X86_64_32 against `__constants_mod_MOD_box' can not be used when making a shared object; recompile with -fPIC
../../lib/latte/liblink/liblatte.a: error adding symbols: Bad value

We added -fPIC to the makefile, error persisted

Commenting out "half" of lib_latte we get the same error but with "rodata" data routine so it doesn't seem to be from __constants_mod_MOD_box

When everything is commented out in latte_lib.f90 the compilation works.

Any help much appreciated!

Tom

Please add documentation/tutorial for utilizing DFTB parameters from other sources

Hi all,
I am rather new to DFTB/LATTE and this issue may not be an issue at all for more experienced users. But I find it very daunting to translate DFTB parameter files obtained from websites such as DFTB.org into whatever files needed in TBparam. In this case, DFTB.org provide Slater-Koster file (.sk) and I can't find anywhere in the manual or wiki or even Google on how to translate this file into the files LATTE reads.

Thank you very much,

Xuetao

Initcoulomb in latte lib

Added an initcoulomb if kpoint > 1 for the lib file
This needs to be tested and compared with standalone latte.

Pulay mixer

When using latte (standalone) with progress, the Pulay mixer is not working.

mem leak

Two mem leaks reported by valgrind. One when opening a file with unit 6 (log.latte) and the
other in bldnewHS_sp.f90 at the omp loop (line 113). The leak only happens with omp.

New release

Could you make a new release in github? Maybe 1.2.2?

(Don't forget to update the version number in cmake/CMakeLists.txt and other files)

Missing external when building with Lammps.

Apologies in advance if this is a cockpit error. I'm seeing the following when building Lammps 23Oct17 after building LATTE in normal place for packages ...

/tmp/aai/brown/lammps/23Oct17_intel-17.0.1.132_impi-2017.1.132/src/Obj_mpi/../fix_latte.cpp:289: undefined reference to `latte'

Is the Lammps fix_latte.cpp broken or should the external exist?

Please add information on GPU support

Hi all,
I was looking for information on GPU support but could not find anything in manual other than a keyword for GPU. It'd be great if someone here could share some information on performance scaling as well as maybe an implementation guide.

Thank you all,

Xuetao

Tag a relase

Please tag new release, which we can add to Spack (as lammps dependency).

Error: More actual than formal arguments in procedure call at (1)

Hi,

I am trying to compile LATTE 1.2.2 on our HPC cluster to provide it as dependency for LAMMPS. When trying to compile the code, it always fails with the error:

[ 73%] Building Fortran object CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/pairpot_plusD.F90.o
/cluster/apps/spack/lib/spack/env/gcc/gfortran -DDBCSR_OFF -DDOUBLEPREC -DGPUOFF -DMPI_OFF -DPROGRESSON -DXSYEV -Dlatte_EXPORTS -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud/include -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/bml-1.3.1-njkttijxcxxy7wm6rpctxzgnqo7ohocu/include  -O2 -g -DNDEBUG -fPIC   -cpp -c /dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/pairpotspline.F90 -o CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/pairpotspline.F90.o
/cluster/apps/spack/lib/spack/env/gcc/gfortran -DDBCSR_OFF -DDOUBLEPREC -DGPUOFF -DMPI_OFF -DPROGRESSON -DXSYEV -Dlatte_EXPORTS -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud/include -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/bml-1.3.1-njkttijxcxxy7wm6rpctxzgnqo7ohocu/include  -O2 -g -DNDEBUG -fPIC   -cpp -c /dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/readppotD.F90 -o CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/readppotD.F90.o
/cluster/apps/spack/lib/spack/env/gcc/gfortran -DDBCSR_OFF -DDOUBLEPREC -DGPUOFF -DMPI_OFF -DPROGRESSON -DXSYEV -Dlatte_EXPORTS -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud/include -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/bml-1.3.1-njkttijxcxxy7wm6rpctxzgnqo7ohocu/include  -O2 -g -DNDEBUG -fPIC   -cpp -c /dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/pairpot_plusD.F90 -o CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/pairpot_plusD.F90.o
/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/cmake-3.16.5-3fujrpnymqhrlkcd67dwc2y76rve6cll/bin/cmake -E cmake_copy_f90_mod subgraph.mod CMakeFiles/latte.dir/subgraph.mod.stamp GNU
/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/bodirectprogress.F90:66.83:

L PRG_BUILD_DENSITY_T(ORTHOH_BML,BO_BML,NUMTHRESH,BNDFIL,KBT,CHEMPOT,EVALS)
                                                                           1
Error: More actual than formal arguments in procedure call at (1)
/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/bodirectprogress.F90:70.72:

     CALL PRG_BUILD_DENSITY_T0(ORTHOH_BML,BO_BML,NUMTHRESH,BNDFIL,EVALS)
                                                                        1
Error: More actual than formal arguments in procedure call at (1)
make[2]: *** [CMakeFiles/latte.dir/build.make:482: CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/bodirectprogress.F90.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 74%] Building Fortran object CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/addqdep.F90.o
/cluster/apps/spack/lib/spack/env/gcc/gfortran -DDBCSR_OFF -DDOUBLEPREC -DGPUOFF -DMPI_OFF -DPROGRESSON -DXSYEV -Dlatte_EXPORTS -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud/include -I/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/bml-1.3.1-njkttijxcxxy7wm6rpctxzgnqo7ohocu/include  -O2 -g -DNDEBUG -fPIC   -cpp -c /dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/addqdep.F90 -o CMakeFiles/latte.dir/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/src/addqdep.F90.o
make[2]: Leaving directory '/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/spack-build'
make[1]: *** [CMakeFiles/Makefile2:109: CMakeFiles/latte.dir/all] Error 2
make[1]: Leaving directory '/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/spack-build'
make: *** [Makefile:133: all] Error 2

I tried to compile it with GCC 4.8.5, 6.3.0 and 8.2.0 and I always get the same error.

I am using the following cmake command:

==> 'cmake' '/dev/shm/spackapps/spack-stage/spack-stage-G5kA9f/lanl-LATTE-d4b5b71/cmake' '-G' 'Unix Makefiles' '-DCMAKE_INSTALL_PREFIX:PATH=/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/latte-1.2.2-qwd5jy4zfn6nqburvp7ryec3dexmkfmn' '-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo' '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON' '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=FALSE' '-DCMAKE_INSTALL_RPATH:STRING=/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/latte-1.2.2-qwd5jy4zfn6nqburvp7ryec3dexmkfmn/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/latte-1.2.2-qwd5jy4zfn6nqburvp7ryec3dexmkfmn/lib64;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openblas-0.3.7-j4mrhyjveh4c4eaq4khmbjxhrxdrrwoc/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openmpi-4.0.2-aefelx62suf7zios27nt4uslj6fohs7g/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/hwloc-1.11.8-vykxhhf4mwnxlrrcypvroj45y6knn6yh/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/libpciaccess-0.13.5-epnssvyis4oeev5zhwfeu32y5h232od3/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/libxml2-2.9.4-43m5fngq7rnghlwd3annnuih2h2vznzo/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/xz-5.2.3-gla7wvbtt5igzfbgwlazihdhqxz43avb/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/zlib-1.2.11-tu4n3a4rud6dtfqmgmgfrb32liysc5lu/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/numactl-2.0.12-4kubjdqlly6e7gzygbsewh7wqtoglux7/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/jdk-8u141-b15-c74zy6m2pxknjkgmr5hfkcyuomurgvpd/lib;/cluster/apps/lsf/10.1/linux2.6-glibc2.3-x86_64/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/ucx-1.6.1-hx7icir43kyx5hoaj752ixk2tuwu75kb/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/rdma-core-20-6pvihyokygwmnvkim24kwfctzaeda4qo/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/libnl-3.3.0-t7ovifx2qdgtaisiccdsxcn7ml6ufu4o/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/metis-5.1.0-iennmlkbyexvyt5labjpnf6jwh7yo4tr/lib;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/cuda-10.1.243-7tq43deb5x4dbs4oe427w4zszno23q6r/lib64;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/rdma-core-20-6pvihyokygwmnvkim24kwfctzaeda4qo/lib64;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud/lib64;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/bml-1.3.1-njkttijxcxxy7wm6rpctxzgnqo7ohocu/lib64' '-DCMAKE_PREFIX_PATH:STRING=/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openmpi-4.0.2-aefelx62suf7zios27nt4uslj6fohs7g;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/cmake-3.16.5-3fujrpnymqhrlkcd67dwc2y76rve6cll;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/qmd-progress-1.1.0-7bmae654fxh5jvknymanrypqeynltlud;/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openblas-0.3.7-j4mrhyjveh4c4eaq4khmbjxhrxdrrwoc' '-DBUILD_SHARED_LIBS=ON' '-DO_MPI=yes' '-DPROGRESS=yes' '-DBLAS_LIBRARIES=/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openblas-0.3.7-j4mrhyjveh4c4eaq4khmbjxhrxdrrwoc/lib/libopenblas.so' '-DLAPACK_LIBRARIES=/cluster/spack/apps/linux-centos7-x86_64/gcc-4.8.5/openblas-0.3.7-j4mrhyjveh4c4eaq4khmbjxhrxdrrwoc/lib/libopenblas.so'

Is this a known problem? Any help is appreciated.

DBCSR_OPT option is broken: there's no such file dbcsr_var_mod.mod

/usr/ports/science/latte/work/LATTE-1.2.1/src/deallocatepure.f90:26:6:

   USE DBCSR_VAR_MOD
      1
Fatal Error: Can't open module file 'dbcsr_var_mod.mod' for reading at (1): No such file or directory
--- CMakeFiles/latte.dir/usr/ports/science/latte/work/LATTE-1.2.1/src/sp2pure_sparse.f90.o ---
/usr/ports/science/latte/work/LATTE-1.2.1/src/sp2pure_sparse.f90:32:6:

   USE DBCSR_VAR_MOD
      1
Fatal Error: Can't open module file 'dbcsr_var_mod.mod' for reading at (1): No such file or directory

dbcsr only installs /usr/local/include/dbcsr_api.mod.

Running latte via lammps with MDCONTROL variables

Errors when using the following latte.in file:

MDCONTROL{
MAXITER= -1
UDNEIGH= 25
DT= 0.25
TEMPERATURE= 300.00 RNDIST= GAUSSIAN SEEDINIT= UNIFORM
DUMPFREQ= 100000
RSFREQ= 100000
WRTFREQ= 100000
TOINITTEMP5= 1
THERMPER= 500
THERMRUN= 50000
NVTON= 0 NPTON= 0 AVEPER= 1000 FRICTION= 1000.0 SEED= 54
PTARGET= 0.0 NPTTYPE= ISO
SHOCKON= 0
SHOCKSTART= 100000
SHOCKDIR= 1
UPARTICLE= 500.0 USHOCK= -4590.0 C0= 1300.0
MDADAPT= 0
GETHUG= 0 E0= -795.725 V0= 896.984864 P0= 0.083149
}

instead of

MDCONTROL{
MAXITER= -1
}

This is an incompatibility between having the keywords for MD for the standalone latte code vs having an input to run latte via lammps.

Compiling with GPU support

when using both mpif90, or mpiifort compilers with GPUOPT=ON, gives following error during linking (truncated output, actual one repeats for like 100s of lines):


...
flcnnono.F90:(.text+0x1e2): undefined reference to __kmpc_fork_call' ... flcnnono_sp.F90:(.text+0x219): undefined reference to __kmpc_end_serialized_parallel'
...
kflcnnono.F90:(.text+0x1461): undefined reference to __kmpc_end_reduce_nowait' /opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so: undefined reference to omp_get_nested'
: undefined reference to GOMP_ordered_start' /opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so: undefined reference to GOMP_loop_ordered_dynamic_next'
/opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so: undefined reference to GOMP_loop_guided_next' /opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so: undefined reference to GOMP_sections_end'
/opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so: undefined reference to `GOMP_atomic_end'
...


to counter it i added -lgomp and -liomp5 flag. Following which the error message becomes:

deorthomyrho.o: In function deorthomyrho_': deorthomyrho.F90:(.text+0x45): undefined reference to mmlatte_'
deorthomyrho.F90:(.text+0x79): undefined reference to mmlatte_' deorthomyrho.F90:(.text+0xb0): undefined reference to mmlatte_'
deorthomyrho.F90:(.text+0xe4): undefined reference to mmlatte_' deorthomyrho.F90:(.text+0x116): undefined reference to mmlatte_'
deorthomyrho.o:deorthomyrho.F90:(.text+0x14a): more undefined references to `mmlatte_' follow
Makefile:88: recipe for target 'latte' failed

How to compile for GPU?

LATTE-LAMMPS restart and Langevin

Langevin crashes at restart. The workaround is to do a “run 0” command before setting up the thermostat, that does the trick.

Read_restart ….
….
Fix 1 all nve
Run 0
Fix 2 all langevin …..
Run 10000

Wrong pair potential will be used for those pairs not specified in parameter file

In subroutines like PAIRPOTTAB, the part for determine which pair potential to use is like this:

DO K = 1, NOPPS

              IF ((ATELE(I) .EQ. PPELE1(K) .AND. ATELE(J) .EQ. PPELE2(K)) &
                   .OR. (ATELE(J) .EQ. PPELE1(K) .AND. &
                   ATELE(I) .EQ. PPELE2(K))) THEN

                 PPSEL = K

                 R1 = POTCOEF(9,PPSEL)
                 RCUT = POTCOEF(10,PPSEL)
                 RCUT2 = RCUT*RCUT

              ENDIF

           ENDDO

If the pair potential is not defined for a pair of atom, it will use the pair potential function of last loop to compute the pair potential. Maybe it will be better to use zero for these non-existing parameters? It seems set RCUT2=ZERO for those pairs will make it work. (the code just put is wrong, just corrected it)

RCUT2=0
DO K = 1, NOPPS

              IF ((ATELE(I) .EQ. PPELE1(K) .AND. ATELE(J) .EQ. PPELE2(K)) &
                   .OR. (ATELE(J) .EQ. PPELE1(K) .AND. &
                   ATELE(I) .EQ. PPELE2(K))) THEN

                 PPSEL = K

                 R1 = POTCOEF(9,PPSEL)
                 RCUT = POTCOEF(10,PPSEL)
                 RCUT2 = RCUT*RCUT

              ENDIF

           ENDDO

bondints.ortho

Hi
I am a newbie in LATTE DFTB. Where can I find bondints.ortho for BASISTYPE=ORTHO?

Latte-lammps

The Latte-lammps tutorial on the wiki should be updated. Add a full description
on how to compile with qmd-progress and bml.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.