Skip to content

Commit edd7541

Browse files
committed
started working on client API
1 parent f2d1249 commit edd7541

File tree

4 files changed

+199
-323
lines changed

4 files changed

+199
-323
lines changed

docs/source/client_api.rst

Lines changed: 78 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,82 @@
1-
.. _client_api:
1+
.. _client_api:
22

33
**5.** Client API
44
=================
55

6-
.. _compile_time_options:
7-
8-
5.1. Compile-Time Options
9-
-------------------------
10-
11-
The following table lists all available compile-time options for PDC, along with a description of each and their current support status:
12-
13-
.. list-table:: Compile-Time Macros
14-
:header-rows: 1
15-
:widths: 30 10 50 10
16-
17-
* - Option Name
18-
- Default
19-
- Description
20-
- Support
21-
* - BUILD_MPI_TESTING
22-
- ON
23-
- Build MPI testing.
24-
- 🟢
25-
* - BUILD_SHARED_LIBS
26-
- ON
27-
- Build with shared libraries.
28-
- 🟢
29-
* - BUILD_TESTING
30-
- ON
31-
- Build the testing tree.
32-
- 🟢
33-
* - BUILD_TOOLS
34-
- OFF
35-
- Build tools.
36-
- 🟡
37-
* - PDC_DART_SUFFIX_TREE_MODE
38-
- ON
39-
- Enable DART Suffix Tree mode.
40-
- 🔴
41-
* - PDC_ENABLE_APP_CLOSE_SERVER
42-
- OFF
43-
- Close PDC server at the end of the application.
44-
- 🟡
45-
* - PDC_ENABLE_CHECKPOINT
46-
- ON
47-
- Enable checkpointing.
48-
- 🟡
49-
* - PDC_ENABLE_FASTBIT
50-
- OFF
51-
- Enable FastBit.
52-
- 🔴
53-
* - PDC_ENABLE_JULIA_SUPPORT
54-
- OFF
55-
- Enable Julia support.
56-
- 🔴
57-
* - PDC_ENABLE_LUSTRE
58-
- OFF
59-
- Enable Lustre.
60-
- 🟡
61-
* - PDC_ENABLE_MPI
62-
- ON
63-
- Enable MPI.
64-
- 🟢
65-
* - PDC_ENABLE_MULTITHREAD
66-
- OFF
67-
- Enable multithreading.
68-
- 🟡
69-
* - PDC_ENABLE_PROFILING
70-
- OFF
71-
- Enable profiling.
72-
- 🟡
73-
* - PDC_ENABLE_ROCKSDB
74-
- OFF
75-
- Enable RocksDB (experimental).
76-
- 🔴
77-
* - PDC_ENABLE_SQLITE3
78-
- OFF
79-
- Enable SQLite3 (experimental).
80-
- 🔴
81-
* - PDC_ENABLE_TF_ZFP_COMPRESSION
82-
- ON
83-
- TensorFlow + ZFP compression (no inline help).
84-
- 🟡
85-
* - PDC_ENABLE_WAIT_DATA
86-
- OFF
87-
- Wait for data finalized in FS when object unmap is called.
88-
- 🟡
89-
* - PDC_ENABLE_ZFP
90-
- OFF
91-
- Enable ZFP.
92-
- 🔴
93-
* - PDC_HAVE_ATTRIBUTE_UNUSED
94-
- ON
95-
- Use compiler attribute for unused variables.
96-
- 🟢
97-
* - PDC_SERVER_CACHE
98-
- OFF
99-
- Enable server caching.
100-
- 🟡
101-
* - PDC_TIMING
102-
- OFF
103-
- Enable timing.
104-
- 🟡
105-
* - PDC_USE_CRAY_DRC
106-
- OFF
107-
- Use Cray DRC to allow multi-job communication.
108-
- 🔴
109-
* - PDC_USE_SHARED_SERVER
110-
- OFF
111-
- Use shared server with client mode.
112-
- 🔴
113-
114-
Legend:
115-
116-
- 🟢 = Fully supported
117-
- 🟡 = Partially/experimentally supported
118-
- 🔴 = Not supported or currently disabled
119-
120-
121-
**5.2.** C API Overview
122-
-----------------------
6+
This section documents the main Client API for PDC.
7+
It includes the types, core layer functions, properties, containers,
8+
objects, and region management functions. Use the links below to
9+
quickly navigate to each subsection:
10+
11+
- :ref:`client_api_types` — Types used in the Client API
12+
- :ref:`client_api_layer` — Initialization and shutdown functions for the PDC layer
13+
- :ref:`client_api_properties` — Functions for creating and closing properties
14+
- :ref:`client_api_containers` — Functions for creating and managing containers
15+
- :ref:`client_api_objects` — Functions for creating and managing objects
16+
- :ref:`client_api_regions` — Functions for creating and managing regions
17+
18+
.. _client_api_types:
19+
20+
**5.1.** Types
21+
--------------
22+
23+
.. doxygentypedef:: pdcid_t
24+
:project: PDC
25+
26+
.. doxygentypedef:: perr_t
27+
:project: PDC
28+
29+
.. _client_api_layer:
30+
31+
**5.2.** PDC Layer
32+
------------------
33+
34+
.. doxygenfunction:: PDCinit
35+
:project: PDC
36+
37+
.. doxygenfunction:: PDCclose
38+
:project: PDC
39+
40+
.. _client_api_properties:
41+
42+
**5.3.** Properties
43+
-------------------
44+
45+
.. doxygenfunction:: PDCprop_create
46+
:project: PDC
47+
48+
.. doxygenfunction:: PDCprop_close
49+
:project: PDC
50+
51+
.. _client_api_containers:
52+
53+
**5.4.** Containers
54+
-------------------
55+
56+
.. doxygenfunction:: PDCcont_create
57+
:project: PDC
58+
59+
.. doxygenfunction:: PDCcont_close
60+
:project: PDC
61+
62+
.. _client_api_objects:
63+
64+
**5.5.** Objects
65+
----------------
66+
67+
.. doxygenfunction:: PDCobj_create
68+
:project: PDC
69+
70+
.. doxygenfunction:: PDCobj_close
71+
:project: PDC
72+
73+
.. _client_api_regions:
74+
75+
**5.6.** Regions
76+
----------------
77+
78+
.. doxygenfunction:: PDCregion_create
79+
:project: PDC
80+
81+
.. doxygenfunction:: PDCregion_close
82+
:project: PDC

docs/source/developer_guide.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
======================
55

66
**6.1** Asynchronous Input/Output and Event Handling
7-
====================================================
8-
7+
----------------------------------------------------
8+
99
PDC’s architecture enables efficient asynchronous I/O operations, allowing computation and communication to overlap, which improves application performance especially in HPC environments.
1010

1111

@@ -27,7 +27,7 @@ Waiting for events:
2727

2828

2929
**6.2** Scalability and Performance
30-
===================================
30+
-----------------------------------
3131

3232
Data placement:
3333

@@ -43,7 +43,7 @@ PDC server tuning:
4343

4444

4545
**6.3** Integration with MPI and Libraries
46-
==========================================
46+
------------------------------------------
4747

4848
Using PDC with MPI:
4949

docs/source/introduction.rst

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,120 @@ Install PDC Source
240240
echo 'export LD_LIBRARY_PATH=$PDC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh
241241
echo 'export PATH=$PDC_DIR/include:$PDC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh
242242
243+
.. _compile_time_options:
244+
245+
Compile-Time Options
246+
~~~~~~~~~~~~~~~~~~~~
247+
248+
The following table lists all available compile-time options for PDC, along with a description of each and their current support status:
249+
250+
.. list-table:: Compile-Time Macros
251+
:header-rows: 1
252+
:widths: 30 10 50 10
253+
254+
* - Option Name
255+
- Default
256+
- Description
257+
- Support
258+
* - BUILD_MPI_TESTING
259+
- ON
260+
- Build MPI testing.
261+
- 🟢
262+
* - BUILD_SHARED_LIBS
263+
- ON
264+
- Build with shared libraries.
265+
- 🟢
266+
* - BUILD_TESTING
267+
- ON
268+
- Build the testing tree.
269+
- 🟢
270+
* - BUILD_TOOLS
271+
- OFF
272+
- Build tools.
273+
- 🟢
274+
* - PDC_DART_SUFFIX_TREE_MODE
275+
- ON
276+
- Enable DART Suffix Tree mode.
277+
- 🟢
278+
* - PDC_ENABLE_APP_CLOSE_SERVER
279+
- OFF
280+
- Close PDC server at the end of the application.
281+
- 🟢
282+
* - PDC_ENABLE_CHECKPOINT
283+
- ON
284+
- Enable checkpointing.
285+
- 🟢
286+
* - PDC_ENABLE_FASTBIT
287+
- OFF
288+
- Enable FastBit.
289+
- 🟢
290+
* - PDC_ENABLE_JULIA_SUPPORT
291+
- OFF
292+
- Enable Julia support.
293+
- 🟢
294+
* - PDC_ENABLE_LUSTRE
295+
- OFF
296+
- Enable Lustre.
297+
- 🟢
298+
* - PDC_ENABLE_MPI
299+
- ON
300+
- Enable MPI.
301+
- 🟢
302+
* - PDC_ENABLE_MULTITHREAD
303+
- OFF
304+
- Enable multithreading.
305+
- 🟡
306+
* - PDC_ENABLE_PROFILING
307+
- OFF
308+
- Enable profiling.
309+
- 🔴
310+
* - PDC_ENABLE_ROCKSDB
311+
- OFF
312+
- Enable RocksDB (experimental).
313+
- 🟢
314+
* - PDC_ENABLE_SQLITE3
315+
- OFF
316+
- Enable SQLite3 (experimental).
317+
- 🟢
318+
* - PDC_ENABLE_TF_ZFP_COMPRESSION
319+
- ON
320+
- TensorFlow + ZFP compression (no inline help).
321+
- 🟡
322+
* - PDC_ENABLE_WAIT_DATA
323+
- OFF
324+
- Wait for data finalized in FS when object unmap is called.
325+
- 🟢
326+
* - PDC_ENABLE_ZFP
327+
- OFF
328+
- Enable ZFP.
329+
- 🟡
330+
* - PDC_HAVE_ATTRIBUTE_UNUSED
331+
- ON
332+
- Use compiler attribute for unused variables.
333+
- 🟢
334+
* - PDC_SERVER_CACHE
335+
- OFF
336+
- Enable server caching.
337+
- 🟢
338+
* - PDC_TIMING
339+
- OFF
340+
- Enable timing.
341+
- 🟡
342+
* - PDC_USE_CRAY_DRC
343+
- OFF
344+
- Use Cray DRC to allow multi-job communication.
345+
- 🟢
346+
* - PDC_USE_SHARED_SERVER
347+
- OFF
348+
- Use shared server with client mode.
349+
- 🟢
350+
351+
Legend:
352+
353+
- 🟢 = Fully supported
354+
- 🟡 = Partially/experimentally supported
355+
- 🔴 = Not supported or currently disabled
356+
243357
.. note::
244358

245359
``-DCMAKE_C_COMPILER=mpicc -DMPI_RUN_CMD=mpiexec`` may need to be

0 commit comments

Comments
 (0)