Server_EN - CCSEPBVR/CS-IS-PBVR GitHub Wiki
The server reads the subvolume file, which is the output data of the filter, and generates the visualization particle data used in the PBVR method. The particle data for visualization is transmitted to the client program via socket communication.
The server program can be processed in batch mode in which only particle data is processed in batches on a supercomputer, and in a client-server mode (Kurasaba mode) in which particle data is generated by interactive processing by connecting a server client capable of socket communication. Stand-alone processing on a PC or workstation is realized by starting the client program and the server program on the same machine in Kurasaba mode. The method of starting the server is shown below.
(How to start with MPI + OpenMP, enter the number of process parallels in N)
$ mpiexec -n N pbvr_server ※1、 2
(How to start with OpenMP only)
$ pbvr_server
※1. Since the MPI + OpenMP version server operates in a master-slave type, the number of parallels is specified by the number of parallels of N slaves + 1.
*2. In both methods, the number of OpenMP threads is specified by the environment variable OMP_NUM_THREADS.
In the case of Windows environment, it is started by executing a command from the MSVC x64 Native Tools command prompt.
(Server start)
Windows> pbvr_server.exe
Refer to the socket communication method of the remote PC and the user PC in the table below, and the client startup method with reference to [Client Program] (./Client_EN).
Options | Applies to | Specified value | Default | Features |
---|---|---|---|---|
-h | CS、B | - | - | View a list of options and parameters |
-B | B | - | - | Specify the batch mode |
-pa | B | File Name | - | Specify a visualization parameter file *2 |
-pd | B | Real Values | 1.0 | Specify the depth of an image |
-S | B | u、m、r | u | Method for sampling particles u: uniform sampling m: metropolis sampling r: rejection sampling |
-plimit | B | 1~99999999 | 1000000 | Maximum number of particles |
-vin | B | File Name | - | Input volume data file*3 |
-pout | B | File Name | - | Output particle data file name*4 |
-p | CS | Port Numbers | 60000 | Socket Communication Port Number |
-viewer | B | 100~9999×100~9999 | 620×620 | Viewer resolution |
-Bd | B | - | - | Instead of consolidating the particle file into one file for each time step, output each subvolume |
-Bs | B | Integer value greater than or equal to 0 | The first step of the specified PFI files | Specify the starting step of the timestep range to be processed |
-Be | B | Integer value greater than or equal to 0 | Final steps for the specified PFI files | Specify the end step of the timestep range to be processed |
*1. The applicable legends are CS: Kurasaba mode and B: batch mode.
*2. For details of the visualization parameter file, see Client Program.
*3. Specify the .pfi file generated from the filtered volume data or the for distributed processing .pfl file by absolute or relative path. Do not abbreviate the extension.
*4. Generate a file in the format "filename_time number_subvolume number_subvolume number_subvolume number.kvsml" with the specified file name as a prefix.
If -B is specified as the command line option when starting the server, it starts in batch mode. An example of starting in batch mode (MPI + OpenMP version) is shown below.
$ mpiexec –n 5 pbvr_server –B -vin ./data/case.pfi -pout ./output/case –pa ./param.in
In the above example, the input volume data file ./data/case.pfi is processed by the parameters described in the visualization parameter file ./param.in, and the following particle data is output.
./output/case_XXXXX_YYYYYYY_ZZZZZZZ.kvsml
./output/case _XXXXX_YYYYYYY_ZZZZZZZ_colors.dat
./output/case _XXXXX_YYYYYYY_ZZZZZZZ_coords.dat
./output/case _XXXXX_YYYYYYY_ZZZZZZZ_normals.dat
where XXXXX is the time, YYYYYYY is the subvolume number, ZZZZZZZ is the total number of subvolumes, and colors, coords, and normals are the colors, coordinates, and normal vector data, respectively. Normally, all subvolumes are integrated at each time, so both YYYYYYY and ZZZZZZZ are only 1, but if you want to output particle data for each subvolume without integrating, specify the command line option -Bd at the time of starting the server in batch mode. The visualization parameter file specified by the command line option -pa at the time of starting the server in batch mode is generated by the interactive process in Kurasaba mode. You can use this file as it is, or edit the parameter file to process a large amount of data in batch processing.
label—Distributed file processing
It is possible to consolidate and visualize multiple volume data stored in storage. Multiple volume data is filtered one by one and a PFI file is created for each. Then, create a PFI file that enumerates the PFI files, and specify the PFL file with the -VIN option. "#PBVR PFI FILES" must be described at the beginning of the pfl file, and the pfi file is described as an absolute path or a path relative to the directory where the pfl file is located for each line. An example of a pfl file is shown below.
#PBVR PFI FILES
hex_filter_out/hex.pfi
hex2_filter_out/hex2.pfi
If -B is not specified as a command line option when starting the server, it is started in client-server mode. A startup example is shown below.
$ mpiexec -n 5 pbvr_server
first reading time[ms]:0
Server initialize done
Server bind done
Server listen done
Waiting for connection ...
When waiting for a socket communication connection with the client as described above, start the client from another terminal. Note that the input volume data name is specified on the client side. The default value of the port number when starting the server is 60000. The port number can be changed with the -p command line option at startup as follows.
$mpiexec -n 5 pbvr_server -p 55555