docs/src/install.md

Sun, 22 Dec 2024 22:10:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 22 Dec 2024 22:10:04 +0100
changeset 1047
40aad3f0bc9e
parent 807
c8d692131b1e
permissions
-rw-r--r--

don't trust that size_t always has word width

it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case

264
24f5484bae97 web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
1 ---
24f5484bae97 web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
2 title: Build Instructions
24f5484bae97 web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
3 ---
259
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
4
760
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
5 The build processes uses configure and make.
259
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
6 First, download the source code from [Source Forge][1].
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
7
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
8 wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
9 tar -xzf ucx-latest.tar.gz
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
10 cd ucx-latest
760
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
11
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
12 Then execute ./configure with the options you like. You can get a list of
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
13 all available options with ./configure --help. The recommended configuration
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
14 for production builds is ./configure --release.
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
15
760
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
16 ./configure --release
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
17 make
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
18 make check # only available when built with tests
52e49533e7b4 update build instructions
Mike Becker <universe@uap-core.de>
parents: 737
diff changeset
19 sudo make install
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
20
737
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
21 When compiling UCX 3, you can tweak the buffer sizes for small-buffer-optimization.
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
22 You can do this, be pre-defining one or more of the following macros:
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
23
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
24 --------------------------------- --------------------------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
25 Macro Description Default
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
26 --------------------------------- --------------------------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
27 CX_ARRAY_SWAP_SBO_SIZE The maximum item size in an array list that uses SBO. 128
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
28
807
c8d692131b1e remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents: 806
diff changeset
29 CX_LINKED_LIST_SWAP_SBO_SIZE The maximum item size that uses SBO swap instead of relinking. 128
737
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
30
807
c8d692131b1e remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents: 806
diff changeset
31 CX_LINKED_LIST_SORT_SBO_SIZE The maximum list size that uses SBO during sort. 1024
737
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
32
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
33 CX_PRINTF_SBO_SIZE The maximum string length printf.h uses stack memory for. 512
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
34
806
e06249e09f99 add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents: 760
diff changeset
35 CX_STRSTR_SBO_SIZE The maximum length of the "needle" in cx_strstr that can use SBO. 512
737
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
36 --------------------------------- --------------------------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
37
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
38 You can also tweak some other buffer sizes with the same technique:
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
39
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
40 --------------------------------- --------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
41 Macro Description Default
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
42 --------------------------------- --------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
43 CX_STRREPLACE_INDEX_BUFFER_SIZE The number of matches one index buffer can store. 64
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
44
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
45 CX_STREAM_COPY_BUF_SIZE The buffer size on the stack for a stream copy. 1024
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
46
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
47 CX_STREAM_BCOPY_BUF_SIZE The buffer size on the heap for a stream copy. 8192
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
48 --------------------------------- --------------------------------------------------- ----------
b3b113eac3b8 add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents: 721
diff changeset
49
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
50 ---
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
51
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
52 ### UCX 2.1
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
53
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
54 The build procedure for UCX 2.1 uses a configure script.
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
55 For Microsoft Windows, you will need an appropriate port of the linux
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
56 tools (like MinGW or Cygwin).
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
57 First, download the source code from [Source Forge][1].
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
58
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
59 wget https://sourceforge.net/projects/ucx/files/ucx-2.1.0.tar.gz
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
60 tar -xzf ucx-2.1.0.tar.gz
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 264
diff changeset
61 cd ucx-2.1.0
259
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
62
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
63 Then issue the `configure` and `make` commands.
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
64
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
65 ./configure && make
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
66
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
67 To verify your installment you can issue `make check`. If everything is fine,
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
68 you can install UCX with
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
69
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
70 make install
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
71
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
72 Note, that you might need administrative privileges for a system wide
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
73 installation.
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
74
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
75 [1]: https://sourceforge.net/projects/ucx/files/
2f5dea574a75 modules documentation
Mike Becker <universe@uap-core.de>
parents: 256
diff changeset
76

mercurial