Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README.md « vs - github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e3a5ee35d9315f8447bf7bd51c98659e82d0dbad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Building Marian on Windows


## Install prerequisites

At least one of the following SDK is required to build Marian on Windows:

   - [CUDA](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal),
     Base installer, CUDA 10.0+ is recommended, there might be issues with CUDA
     9.2, see below
   - [Intel MKL](https://software.intel.com/en-us/mkl)

CUDA is required for running Marian on GPU, and Intel MKL for CPU. If only one
of them is installed, a GPU-only or CPU-only version can be built.

---
## Check dependencies : `CheckOrInstallDeps.bat`

The script `CheckOrInstallDeps.bat` can be used to verify that all dependencies
are found on your system. If not, it will use the `vcpkg` library manager to
download and manage your dependencies for CMake, including the following
optional libraries needed only if you want to compile Marian server:

    - Boost (1.58-1.72), optional for marian-server (`COMPILE_SERVER=TRUE` in
      `CMakeSettings.json`)
    - OpenSSL, optional for marian-server

If you already have a working `vcpkg` installation, this script can use it. If
vcpkg is in your `PATH` environment variable, the script will find it and use
it automatically. Otherwise, you need to edit the script and set the
`VCPKG_ROOT` variable. Please see the script for more details.

---
## Build the project

There are 3 alternatives to build the project:
1. Use Visual Studio 2017+ built-in support for CMake
2. Create a Solution file for Visual Studio
3. Use a script (MSBuild)


### 1. Use VS2017+ with built-in support for CMake

VS2017 or newer now allows to develop projects built with CMake without the
need to generate VS projects and solutions. For more information, please read
[this article](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/cmake-support-in-visual-studio/)
from the Visual C++ Team.

1. Open the root folder of the git repository in VS (which contains the file
   `CMakeSettings.json`) using `Open local folder` on the welcome page or `File
   > Open > Folder...` in a VS instance.
2. Edit the file `CMakeSettings.json` to set the environment variable for the
   dependencies. Set `COMPILE_CUDA` or `COMPILE_CPU` to `FALSE` if you wish to
   compile a CPU-only or a GPU-only version respectively.
3. VS2017 should automatically detect `CMakeSettings.json` and generate CMake
   Cache.
4. Build the project with `F7`. If build is successful, the executables will be
   in the `build` folder.


#### Development

The developing experience is very similar that when using a solution file
(Intellisense, build project with `F7`, debug, set breakpoints and watch
variables, ...), except that the project configuration is done in 3 different
files:

- `CMakeList.txt`: this is the CMake source file from the original project.
  It is used to configure the build targets, add/remove files to compile and configure the
  compiler flags.

- `CMakeSettings.json`: this file is required to enable CMake integration in VS2017.
  Use this file to configure the environment variables and the parameters passed to CMake to
  generate the project.

- `.vs\launch.vs.json`: this is an optional user specific file and it is not commited in the Git
  repo. Use this file to configure the debugging targets.


### 2. Create solution and projects files for Visual Studio : `CreateVSProjects.bat`

If you have a previous version of Visual Studio, you will need to use CMake to
generate the projects
files.

The provided script `CreateVSProjects.bat` runs the dependency checks then
invokes CMake with the right parameters to create the solutions for Visual
Studio.

Warning: the Visual Studio Solution file included in the `vs/` folder might not
work out of the box with your environment and require customization.


### 3. Use MSBuild : `BuildRelease.bat`

The last alternative is to use the script `BuildRelease.bat` that will:
- Check the dependencies.
- Create the VS project files.
- Invoke MSBuild on these projects to build the targets in Release.