clarify ARM-NEON support in README

This commit is contained in:
Heng Li 2017-12-18 23:01:44 -05:00
parent e420b17496
commit fcac296c4a
1 changed files with 7 additions and 9 deletions

View File

@ -65,7 +65,7 @@ Detailed evaluations are available from the [minimap2 preprint][preprint].
### <a name="install"></a>Installation ### <a name="install"></a>Installation
Minimap2 only works on x86-64 CPUs. You can acquire precompiled binaries from Minimap2 is optimized for x86-64 CPUs. You can acquire precompiled binaries from
the [release page][release] with: the [release page][release] with:
```sh ```sh
curl -L https://github.com/lh3/minimap2/releases/download/v2.6/minimap2-2.6_x64-linux.tar.bz2 \ curl -L https://github.com/lh3/minimap2/releases/download/v2.6/minimap2-2.6_x64-linux.tar.bz2 \
@ -77,6 +77,9 @@ and zlib development files installed. Then type `make` in the source code
directory to compile. If you see compilation errors, try `make sse2only=1` directory to compile. If you see compilation errors, try `make sse2only=1`
to disable SSE4 code, which will make minimap2 slightly slower. to disable SSE4 code, which will make minimap2 slightly slower.
Minimap2 also works with ARM CPUs supporting the NEON instruction sets. To
compile, use `make arm_neon=1`.
### <a name="general"></a>General usage ### <a name="general"></a>General usage
Without any options, minimap2 takes a reference database and a query sequence Without any options, minimap2 takes a reference database and a query sequence
@ -352,20 +355,15 @@ mappy` or [from BioConda][mappyconda] via `conda install -c bioconda mappy`.
regions where seed positions may be suboptimal. This should not be a big regions where seed positions may be suboptimal. This should not be a big
concern because even the optimal alignment may be wrong in such regions. concern because even the optimal alignment may be wrong in such regions.
* Minimap2 requires SSE2 instructions to compile. It is possible to add * Minimap2 requires SSE2 instructions on x86 CPUs or NEON on ARM CPUs. It is
non-SSE2 support, but it would make minimap2 slower by several times. possible to add non-SIMD support, but it would make minimap2 slower by
several times.
In general, minimap2 is a young project with most code written since June, 2017. In general, minimap2 is a young project with most code written since June, 2017.
It may have bugs and room for improvements. Bug reports and suggestions are It may have bugs and room for improvements. Bug reports and suggestions are
warmly welcomed. warmly welcomed.
## <a name="arm"></a>Compiling for ARM with NEON
* Minimap2 can be compiled for ARM processors having NEON SIMD support. Compile as
```
make arm_neon=1
```
[paf]: https://github.com/lh3/miniasm/blob/master/PAF.md [paf]: https://github.com/lh3/miniasm/blob/master/PAF.md
[sam]: https://samtools.github.io/hts-specs/SAMv1.pdf [sam]: https://samtools.github.io/hts-specs/SAMv1.pdf