diff --git a/_data/navigation.yml b/_data/navigation.yml
index 9bf7801b..5115038d 100644
--- a/_data/navigation.yml
+++ b/_data/navigation.yml
@@ -1,6 +1,7 @@
# main links links
main:
- - title: "Docs"
+ - title: "Documentation"
+ icon: "octicon octicon-book vertical-middle"
url: /docs/
- title: "Quick-start guide"
@@ -18,28 +19,50 @@ docs:
children:
- title: "Quick-Start Guide"
url: /docs/quick-start-guide/
- - title: "Structure"
- url: /docs/structure/
- - title: "Building"
- url: /docs/building/
+ - title: "Communication interfaces"
+ url: /docs/comm_interfaces/
+ - title: "Architecture targets"
+ url: /docs/simd_targets/
+ - title: "Building on KNL"
+ url: /docs/knl_build/
+ - title: Using GRID
+ children:
+ - title: "Running on KNL"
+ url: /docs/running_knl/
+
+ - title: Development
+ children:
+ - title: "Reporting a bug"
+ url: /docs/bug_report/
+ - title: "Continuous integration"
+ url: /docs/travis/
- title: API description
children:
+ - title: "Structure"
+ url: /docs/structure/
+ disable: "yes"
- title: "SIMD classes"
url: /docs/simd/
+ disable: "yes"
- title: "Grid classes"
url: /docs/grid/
+ disable: "yes"
- title: "Tensor classes"
url: /docs/tensor/
+ disable: "yes"
- title: "Lattice classes"
url: /docs/lattice/
+ disable: "yes"
- title: "Lattice theories"
children:
- title : "Theories"
url: /docs/theories/
+ disable: "yes"
- title: "HMC"
url: /docs/theories/hmc/
+ disable: "yes"
\ No newline at end of file
diff --git a/_includes/head.html b/_includes/head.html
index 9209e52f..2cc368b2 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -17,6 +17,6 @@
-
+
diff --git a/_includes/head/custom.html b/_includes/head/custom.html
index 01767313..e44ff86d 100644
--- a/_includes/head/custom.html
+++ b/_includes/head/custom.html
@@ -1,5 +1,6 @@
+
\ No newline at end of file
diff --git a/_includes/image b/_includes/image
new file mode 100644
index 00000000..c12265fc
--- /dev/null
+++ b/_includes/image
@@ -0,0 +1,10 @@
+{% capture imagePath %}/{{ include.name }}{% endcapture %}
+{% if include.caption %}
+
+
+{% endif %}
+
\ No newline at end of file
diff --git a/_includes/masthead.html b/_includes/masthead.html
index ffef5594..2f102b3f 100644
--- a/_includes/masthead.html
+++ b/_includes/masthead.html
@@ -13,8 +13,9 @@
{% else %}
{% assign domain = base_path %}
{% endif %}
-
`: setup Grid for the SIMD target `` (default: `GEN`). [List of possible SIMD targets](/Grid/docs/simd_targets/).
+- `--enable-precision={single|double}`: set the default precision (default: `double`).
+- `--enable-precision=`: Use `` for message passing (default: `none`). [List of possible comm targets](/Grid/docs/comm_interfaces/).
+- `--enable-rng={ranlux48|mt19937}`: choose the RNG (default: `ranlux48 `).
+- `--disable-timers`: disable system dependent high-resolution timers.
+- `--enable-chroma`: enable Chroma regression tests. A compiled version of Chroma is assumed to be present.
+
+
+More details on the *Getting started* menu entries on the left.
+
+
+This document was updated on November 2016.
+{: .notice}
+
diff --git a/_pages/docs/running_knl.md b/_pages/docs/running_knl.md
new file mode 100644
index 00000000..74b1b61e
--- /dev/null
+++ b/_pages/docs/running_knl.md
@@ -0,0 +1,65 @@
+---
+layout: single
+title : "Documentation"
+author_profile: false
+excerpt: "Running on a Intel Knights Landing"
+header:
+ overlay_color: "#5DADE2"
+permalink: /docs/running_knl/
+sidebar:
+ nav : docs
+---
+{% include base_path %}
+{% include toc icon="gears" title="Contents" %}
+
+These are few suggestions in order to get the best performance on the Intel Knights Landing (KNL).
+
+### Bind the memory allocation to the MCDRAM NUMA node
+
+The KNL has two memory systems, the DDR4 (~90 GFlops/s) and the High Bandwidth Memory (MCDRAM, ~400 Gflops/s).
+Each of the two memory system is attached to a different [NUMA context](https://software.intel.com/en-us/articles/optimizing-applications-for-numa).
+
+On a KNL node the command `numactl --hardware` will report which NUMA context is connected to the faster MCDRAM.
+A typical report looks like this
+
+``` text
+node 0 size: 98178 MB
+node 0 free: 92899 MB
+node 1 cpus:
+node 1 size: 16384 MB
+node 1 free: 15926 MB
+```
+
+In this case the node 1 is related to the 16GB MCDRAM (this is the typical situation on KNLs)
+
+To bind the memory allocation to NUMA node 1 use
+
+``` bash
+numactl --membind 1 ./your-executable
+```
+
+### Controlling threading
+
+The number of threads can be set in GRID at runtime by the flag
+
+``` text
+--threads <#threads>
+```
+
+A finer control can be achieved using the environment variable `KMP_HW_SUBSETS` (or the deprecated `KMP_PLACE_THREADS`).
+
+From the [Intel developer guide](https://software.intel.com/en-us/node/684313):
+
+>The KMP_HW_SUBSETS variable controls the hardware resource that will be used by the program. This variable specifies the number of sockets to use, how many cores to use per socket and how many threads to assign per core. For example, on Intel® Xeon Phi™ coprocessors, while each coprocessor can take up to four threads, specifying fewer than four threads per core may result in a better performance. While specifying two threads per core often yields better performance than one thread per core, specifying three or four threads per core may or may not improve the performance. This variable enables you to conveniently measure the performance of up to four threads per core.
+
+A typical setting for the best performance on a single node is to use **62 cores with 1 threads per code**, on the bash shell this is set by
+
+``` bash
+export KMP_HW_SUBSETS=62c,1t
+```
+
+The information included in this page has been updated on *November 2016* and it is valid for the release version 0.6.0.
+{: .notice}
+
+
+{% include paginator.html %}
\ No newline at end of file
diff --git a/_pages/docs/simd_targets.md b/_pages/docs/simd_targets.md
new file mode 100644
index 00000000..06f819d5
--- /dev/null
+++ b/_pages/docs/simd_targets.md
@@ -0,0 +1,41 @@
+---
+layout: single
+title : "Documentation"
+author_profile: false
+excerpt: "Supported SIMD architectures"
+header:
+ overlay_color: "#5DADE2"
+permalink: /docs/simd_targets/
+sidebar:
+ nav : docs
+---
+{% include base_path %}
+
+The following options can be used for `--enable-simd=` flag to target different SIMD instruction sets:
+
+| `` | Description |
+| ----------- | -------------------------------------- |
+| `GEN` | generic portable vector code |
+| `SSE4` | SSE 4.2 (128 bit) |
+| `AVX` | AVX (256 bit) |
+| `AVXFMA` | AVX (256 bit) + FMA |
+| `AVXFMA4` | AVX (256 bit) + FMA4 |
+| `AVX2` | AVX 2 (256 bit) |
+| `AVX512` | AVX 512 bit |
+| `QPX` | QPX (256 bit) |
+
+Alternatively, some CPU codenames can be directly used:
+
+| `` | Description |
+| ----------- | -------------------------------------- |
+| `KNC` | [Intel Xeon Phi codename Knights Corner](http://ark.intel.com/products/codename/57721/Knights-Corner) |
+| `KNL` | [Intel Xeon Phi codename Knights Landing](http://ark.intel.com/products/codename/48999/Knights-Landing) |
+| `BGQ` | Blue Gene/Q |
+
+#### Notes (November 2016):
+- We are currently supporting AVX512 only for the Intel compiler. GCC and clang will appear in future versions, if the compilers provide sufficient support.
+- For BG/Q only [bgclang](http://trac.alcf.anl.gov/projects/llvm-bgq) is supported. We do not presently plan to support more compilers for this platform.
+- BG/Q performances are currently rather poor. This is being investigated for future versions.
+
+
+{% include paginator.html %}
\ No newline at end of file
diff --git a/_pages/docs/travis.md b/_pages/docs/travis.md
new file mode 100644
index 00000000..6600f9b6
--- /dev/null
+++ b/_pages/docs/travis.md
@@ -0,0 +1,24 @@
+---
+layout: single
+title : "Documentation"
+author_profile: false
+excerpt: "Travis Continous Integration framework"
+header:
+ overlay_color: "#5DADE2"
+permalink: /docs/travis/
+sidebar:
+ nav : docs
+---
+{% include base_path %}
+
+
+For continous testing of every commit we use the [Travis CI framework](https://travis-ci.org/).
+
+The current status is
+
+| Branch | Status |
+|---------- | ------ |
+| [Master](https://travis-ci.org/paboyle/Grid) | [](https://travis-ci.org/paboyle/Grid) |
+| [Develop](https://travis-ci.org/paboyle/Grid) | [](https://travis-ci.org/paboyle/Grid) |
+
+{% include paginator.html %}
\ No newline at end of file
diff --git a/_pages/docs_main.md b/_pages/docs_main.md
new file mode 100644
index 00000000..e7dac327
--- /dev/null
+++ b/_pages/docs_main.md
@@ -0,0 +1,25 @@
+---
+layout: single
+title : "Documentation"
+author_profile: false
+excerpt: "Welcome to the Grid documentation pages"
+header:
+ overlay_color: "#5DADE2"
+ #cta_label: "Download documentation"
+ #cta_url: "https://www.google.com"
+sidebar:
+ nav : docs
+permalink: /docs/
+---
+
+{% include base_path %}
+
+We are currently working on the full documentation.
+
+Use the sidebar on the left to navigate.
+
+_Nov 2016 : The API description and Lattice Theories sections in the sidebar are work in progress_.
+
+
+
+{% include paginator.html %}
diff --git a/_pages/quick-start-guide.md b/_pages/quick-start-guide.md
deleted file mode 100644
index 6c5927fb..00000000
--- a/_pages/quick-start-guide.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: single
-title : "Quick start guide"
-author_profile: false
-excerpt: "How to install"
-header:
- overlay_color: "#333"
-permalink: /docs/quick-start-guide/
----
-### Installation
-First, start by cloning the repository:
-
-``` bash
-git clone https://github.com/paboyle/Grid.git
-```
-
-Then enter the cloned directory and set up the build system:
-
-``` bash
-cd Grid
-./bootstrap.sh
-```
-
-Now you can execute the `configure` script to generate makefiles as in this example (here from a build directory):
-
-``` bash
-mkdir build; cd build
-../configure --enable-precision=double --enable-simd=AVX --enable-comms=mpi-auto --prefix=
-```
-
-The list of possible options from the `./configure --help` command is
-
-``` text
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --disable-openmp do not use OpenMP
- --enable-lapack=yes|no|prefix
- enable LAPACK
- --enable-numa=yes|no|prefix
- enable first touch numa opt
- --enable-simd=SSE4|AVX|AVXFMA4|AVXFMA|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC
- Select instructions to be SSE4.0, AVX 1.0, AVX
- 2.0+FMA, AVX 512, IMCI
- --enable-precision=single|double
- Select default word size of Real
- --enable-comms=none|mpi|mpi-auto|shmem
- Select communications
- --enable-rng=ranlux48|mt19937
- Select Random Number Generator to be used
- --enable-timers Enable system dependent high res timers
- --enable-chroma Expect chroma compiled under c++11
- --enable-doxygen enable documentation generation with doxygen (auto)
- --enable-dot use 'dot' to generate graphs in doxygen (auto)
- --enable-html-docs enable HTML generation with doxygen (yes)
- --enable-latex-docs enable LaTeX documentation generation with doxygen
- (no)
-```
-
-
-and `` should be replaced by the prefix path where you want to
-install Grid. The `mpi-auto` communication option let `configure` to determine
-automatically how to link to MPI.
-Like with any other program using GNU autotool, the `CXX`, `CXXFLAGS`, `LDFLAGS`, ... environment variables can be modified to
-customise the build.
-
-Finally, you can build and install Grid:
-
-``` bash
-make
-make install
-```
-
-To minimise the build time, only the tests at the root of the `tests` directory are built by default. If you want to build tests in the sub-directory `` you can execute:
-
-``` bash
-make -C tests/ tests
-```
-
-### Possible SIMD types
-
-The following options can be use with the `--enable-simd=` option to target different SIMD instruction sets:
-
-| String | Description |
-| ----------- | -------------------------------------- |
-| `GEN` | generic portable vector code |
-| `SSE4` | SSE 4.2 (128 bit) |
-| `AVX` | AVX (256 bit) |
-| `AVXFMA4` | AVX (256 bit) + FMA |
-| `AVX2` | AVX 2 (256 bit) |
-| `AVX512` | AVX 512 bit |
-| `AVX512MIC` | AVX 512 bit for Intel MIC architecture |
-| `ICMI` | Intel ICMI instructions (512 bit) |
-
-Alternatively, some CPU codenames can be directly used:
-
-| String | Description |
-| ----------- | -------------------------------------- |
-| `KNC` | [Intel Knights Corner](http://ark.intel.com/products/codename/57721/Knights-Corner) |
-| `KNL` | [Intel Knights Landing](http://ark.intel.com/products/codename/48999/Knights-Landing) |
-
diff --git a/_sass/_navigation.scss b/_sass/_navigation.scss
index d96735b8..aae4e8dc 100644
--- a/_sass/_navigation.scss
+++ b/_sass/_navigation.scss
@@ -343,6 +343,11 @@
color: #fff;
}
}
+
+ .nav__noclick {
+ pointer-events: none;
+ color: #ccc;
+ }
}
.nav__title {
@@ -365,6 +370,11 @@
}
+
+
+
+
+
/*
Table of contents navigation
========================================================================== */
diff --git a/images/GridLogo.png b/images/GridLogo.png
new file mode 100644
index 00000000..bf6f03bc
Binary files /dev/null and b/images/GridLogo.png differ
diff --git a/images/android-icon-144x144.png b/images/android-icon-144x144.png
new file mode 100644
index 00000000..c44e5c90
Binary files /dev/null and b/images/android-icon-144x144.png differ
diff --git a/images/android-icon-192x192.png b/images/android-icon-192x192.png
new file mode 100644
index 00000000..bd31a145
Binary files /dev/null and b/images/android-icon-192x192.png differ
diff --git a/images/android-icon-36x36.png b/images/android-icon-36x36.png
new file mode 100644
index 00000000..9566940a
Binary files /dev/null and b/images/android-icon-36x36.png differ
diff --git a/images/android-icon-48x48.png b/images/android-icon-48x48.png
new file mode 100644
index 00000000..bca44b00
Binary files /dev/null and b/images/android-icon-48x48.png differ
diff --git a/images/android-icon-72x72.png b/images/android-icon-72x72.png
new file mode 100644
index 00000000..189b2e4d
Binary files /dev/null and b/images/android-icon-72x72.png differ
diff --git a/images/android-icon-96x96.png b/images/android-icon-96x96.png
new file mode 100644
index 00000000..501f02f7
Binary files /dev/null and b/images/android-icon-96x96.png differ
diff --git a/images/apple-icon-114x114.png b/images/apple-icon-114x114.png
new file mode 100644
index 00000000..015d5dbb
Binary files /dev/null and b/images/apple-icon-114x114.png differ
diff --git a/images/apple-icon-120x120.png b/images/apple-icon-120x120.png
new file mode 100644
index 00000000..e07cb435
Binary files /dev/null and b/images/apple-icon-120x120.png differ
diff --git a/images/apple-icon-144x144.png b/images/apple-icon-144x144.png
new file mode 100644
index 00000000..c44e5c90
Binary files /dev/null and b/images/apple-icon-144x144.png differ
diff --git a/images/apple-icon-152x152.png b/images/apple-icon-152x152.png
new file mode 100644
index 00000000..64a1941e
Binary files /dev/null and b/images/apple-icon-152x152.png differ
diff --git a/images/apple-icon-180x180.png b/images/apple-icon-180x180.png
new file mode 100644
index 00000000..de6490de
Binary files /dev/null and b/images/apple-icon-180x180.png differ
diff --git a/images/apple-icon-57x57.png b/images/apple-icon-57x57.png
new file mode 100644
index 00000000..883ced44
Binary files /dev/null and b/images/apple-icon-57x57.png differ
diff --git a/images/apple-icon-60x60.png b/images/apple-icon-60x60.png
new file mode 100644
index 00000000..04845318
Binary files /dev/null and b/images/apple-icon-60x60.png differ
diff --git a/images/apple-icon-72x72.png b/images/apple-icon-72x72.png
new file mode 100644
index 00000000..189b2e4d
Binary files /dev/null and b/images/apple-icon-72x72.png differ
diff --git a/images/apple-icon-76x76.png b/images/apple-icon-76x76.png
new file mode 100644
index 00000000..7dd2a0e6
Binary files /dev/null and b/images/apple-icon-76x76.png differ
diff --git a/images/apple-icon-precomposed.png b/images/apple-icon-precomposed.png
new file mode 100644
index 00000000..1625be6e
Binary files /dev/null and b/images/apple-icon-precomposed.png differ
diff --git a/images/apple-icon.png b/images/apple-icon.png
new file mode 100644
index 00000000..1625be6e
Binary files /dev/null and b/images/apple-icon.png differ
diff --git a/images/browserconfig.xml b/images/browserconfig.xml
new file mode 100644
index 00000000..c5541482
--- /dev/null
+++ b/images/browserconfig.xml
@@ -0,0 +1,2 @@
+
+#ffffff
\ No newline at end of file
diff --git a/images/favicon-16x16.png b/images/favicon-16x16.png
new file mode 100644
index 00000000..37e444f7
Binary files /dev/null and b/images/favicon-16x16.png differ
diff --git a/images/favicon-32x32.png b/images/favicon-32x32.png
new file mode 100644
index 00000000..bfedcd14
Binary files /dev/null and b/images/favicon-32x32.png differ
diff --git a/images/favicon-96x96.png b/images/favicon-96x96.png
new file mode 100644
index 00000000..501f02f7
Binary files /dev/null and b/images/favicon-96x96.png differ
diff --git a/images/favicon.ico b/images/favicon.ico
new file mode 100644
index 00000000..d5516155
Binary files /dev/null and b/images/favicon.ico differ
diff --git a/images/manifest.json b/images/manifest.json
new file mode 100644
index 00000000..013d4a6a
--- /dev/null
+++ b/images/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "App",
+ "icons": [
+ {
+ "src": "\/android-icon-36x36.png",
+ "sizes": "36x36",
+ "type": "image\/png",
+ "density": "0.75"
+ },
+ {
+ "src": "\/android-icon-48x48.png",
+ "sizes": "48x48",
+ "type": "image\/png",
+ "density": "1.0"
+ },
+ {
+ "src": "\/android-icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image\/png",
+ "density": "1.5"
+ },
+ {
+ "src": "\/android-icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image\/png",
+ "density": "2.0"
+ },
+ {
+ "src": "\/android-icon-144x144.png",
+ "sizes": "144x144",
+ "type": "image\/png",
+ "density": "3.0"
+ },
+ {
+ "src": "\/android-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png",
+ "density": "4.0"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/images/ms-icon-144x144.png b/images/ms-icon-144x144.png
new file mode 100644
index 00000000..c44e5c90
Binary files /dev/null and b/images/ms-icon-144x144.png differ
diff --git a/images/ms-icon-150x150.png b/images/ms-icon-150x150.png
new file mode 100644
index 00000000..6cf84785
Binary files /dev/null and b/images/ms-icon-150x150.png differ
diff --git a/images/ms-icon-310x310.png b/images/ms-icon-310x310.png
new file mode 100644
index 00000000..7eece04e
Binary files /dev/null and b/images/ms-icon-310x310.png differ
diff --git a/images/ms-icon-70x70.png b/images/ms-icon-70x70.png
new file mode 100644
index 00000000..fb510404
Binary files /dev/null and b/images/ms-icon-70x70.png differ
diff --git a/index.html b/index.html
index d606f3e8..f0646f31 100644
--- a/index.html
+++ b/index.html
@@ -6,14 +6,15 @@ classes:
excerpt: "Data parallel C++ mathematical object library."
permalink: /
header:
- overlay_color: "#5e616c"
- cta_label: "Github page"
- cta_url: "https://github.com/paboyle/Grid"
+ overlay_color: "#5DADE2"
intro:
- excerpt: 'Get notified when we add new stuff [ watch project](https://github.com/paboyle/Grid/subscription){: .btn .btn--info}'
downloads:
- excerpt: 'Downloads [ Develop branch ZIP](https://github.com/paboyle/Grid/archive/develop.zip){: .btn .btn--large .btn--inverse}'
---
-{% include feature_row id="intro" type="center" %}
+{% include image name="GridLogo.png" width="400px" %}
+
{% include feature_row id="downloads" type="center" %}
+{% include feature_row id="intro" type="center" %}
+