@@ -24,13 +24,16 @@ Understanding DPF server types
2424There are three main server configurations available in PyDPF-Core:
2525
2626- :class: `InProcessServer <ansys.dpf.core.server_types.InProcessServer> `: Direct communication
27- within the same Python process (fastest, default since Ansys 2023 R1)
27+ within the same Python process (fastest, default since Ansys 2023 R1). Requires compatible
28+ runtime dependencies between Python packages and DPF plugins.
2829- :class: `GrpcServer <ansys.dpf.core.server_types.GrpcServer> `: Network communication using
29- gRPC protocol (enables remote and distributed computation)
30+ gRPC protocol (enables remote and distributed computation). Process isolation prevents
31+ dependency conflicts with DPF plugins.
3032- :class: `LegacyGrpcServer <ansys.dpf.core.server_types.LegacyGrpcServer> `: Legacy gRPC
3133 communication for Ansys 2022 R1 and earlier versions
3234
33- The choice of server type impacts performance, memory usage, and distributed computing capabilities.
35+ The choice of server type impacts performance, memory usage, dependency management, and
36+ distributed computing capabilities.
3437
3538
3639Starting a local InProcess server
@@ -40,6 +43,16 @@ The default and most efficient way to use PyDPF-Core is with an :class:`InProces
4043This configuration runs the DPF server directly within your Python process, eliminating data
4144transfer overhead and providing the fastest performance.
4245
46+ .. note ::
47+
48+ While :class: `InProcessServer <ansys.dpf.core.server_types.InProcessServer> ` offers the best
49+ performance, it requires that all runtime dependencies are compatible between your Python
50+ environment and DPF plugins. If any Python dependency clashes with a DPF plugin dependency,
51+ that plugin is not be loaded, resulting in lost capabilities.
52+
53+ :class: `GrpcServer <ansys.dpf.core.server_types.GrpcServer> ` does not have this limitation
54+ because process isolation ensures dependency isolation between the client and server.
55+
4356First, import the necessary modules:
4457
4558.. jupyter-execute ::
@@ -293,9 +306,15 @@ The choice of DPF server configuration depends on your specific requirements:
293306- Use :class: `InProcessServer <ansys.dpf.core.server_types.InProcessServer> ` for local computations
294307 requiring maximum performance and minimal memory overhead (default since Ansys 2023 R1)
295308
309+ - Provides the fastest performance by eliminating data transfer between client and server
310+ - **Limitation **: Requires compatible runtime dependencies between Python packages and DPF plugins.
311+ Incompatibilities between dependencies can prevent plugins from loading
312+ - Best suited for environments with controlled dependencies and standard DPF plugins
313+
296314- Use :class: `GrpcServer <ansys.dpf.core.server_types.GrpcServer> ` when you need distributed
297315 computation, remote access, or when running DPF on a different machine (available since Ansys 2022 R2)
298316
317+ - Process isolation ensures dependency isolation, avoiding clashes between Python environment and plugins
299318 - Starting with DPF 2026 R1, gRPC connections use mTLS authentication by default for enhanced security
300319 - Configure ``ANSYS_GRPC_CERTIFICATES `` environment variable on both client and server for mTLS
301320 - For more information, see :ref: `ref_dpf_server_secure_mode `
0 commit comments