You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/developer.md
+6-16Lines changed: 6 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,26 +38,26 @@ This is the entry point of the RedisAI module, responsible for registering the n
38
38
39
39
The header file that contains the module's low-level-API. This file should be copied to a Redis module that plan on using RedisAI objects and functionality via low-level-API. Note that every function in redisai.h is named "RedisAI_{X}", and detailed description for it can be found under the name "RAI_{X}" in RedisAI header files.
40
40
41
-
**redis_ai_types directory**
41
+
**redis_ai_types**
42
42
43
43
Contains the callbacks that are required for the new Tensor, Model and Script types. These callbacks are used by Redis server for data management and persistence.
44
44
45
45
**redis_ai_objects**
46
46
47
47
Contains the internal implementation of the basic RedisAI objects - Tensor, Model and Script.
48
48
For each object there is a header file that contains the helper methods for both creating, populating, managing and freeing the data structure.
49
-
This also includes `stats.h` where you can find the structure and headers that create, initialize, get, reset, and free run-time statics, like call count, error count, and aggregate durations of Model and Script execution sessions. Note that the statistics are ephemeral, meaning that they are not persisted to the Redis key space, and are reset when the server is restarted.
49
+
This directory also includes `stats.h` where you can find the structure and headers that create, initialize, get, reset, and free run-time statistics, like call count, error count, and aggregate durations of Model and Script execution sessions. Note that the statistics are ephemeral, meaning that they are not persisted to the Redis key space, and are reset when the server is restarted.
50
50
51
51
**execution**
52
52
53
-
Contains the files and logic that are responsible for RedisAI execution commands. The structure of RedisAI "execution plan" can be found in `run_info.h` along with the headers that create, initialize, get, and free this structure.
54
-
Every execution is represented as a DAG (directional acyclic graph) of one or more operation. Execution requests are queued and executed asynchronously. `run_queue_info.h` contains the structure for managing per-device queues that are used for decoupling the work from the main thread to the background worker threads.
53
+
Contains the files and logic that are responsible for RedisAI execution commands. The structure of RedisAI "execution plan" can be found in `run_info.h` along with the headers that create, initialize, get, and free this structure.
54
+
Every execution is represented as a DAG (directional acyclic graph) of one or more operations. Execution requests are queued and executed asynchronously. `run_queue_info.h` contains the structure for managing per-device queues that are used for decoupling the work from the main thread to the background worker threads.
55
55
`background_workers.c` contains the loop that every worker runs in the process of execution requests.
56
56
The execution directory contains the following sub-directories:
57
57
58
-
* DAG - contains the methods for creating, initializing and freeing DAG operations, methods for building DAG from low-level API, and methods for running the DAG commands in the background, and replying to DAG structured commands. Also, this contains methods for validating the entire DAG and sending its operation to the appropriate execution queues.
58
+
* DAG - contains the methods for creating, initializing and freeing DAG operations, methods for building DAG from low-level API, and methods for running the DAG commands in the background, and replying to DAG structured commands. Also, this contains methods for validating the entire DAG and sending its operations to the appropriate execution queues.
59
59
* execution_context - contains the structure and methods for running an instance of a Model and Script in RedisAI.
60
-
* parsing - here we can find the parsing logic execution related RedisAI commands.
60
+
* parsing - here we can find the parsing logic of execution related RedisAI commands.
61
61
62
62
**config**
63
63
@@ -117,16 +117,6 @@ make
117
117
make GPU=1
118
118
```
119
119
120
-
After this, you can run the created docker and mount your source code with the following command, from within the RedisAI folder.
121
-
Assuming that the docker was built for ubuntu bionic machine with cpu-only support (the default parameters) from master branch, you can run:
122
-
123
-
```
124
-
docker run -v "`pwd`:/build" -it redislabs/redisai:edge-cpu-bionic bash
125
-
```
126
-
127
-
Continue to edit files on your local machine, and rebuild as needed within the docker, by running the command below, from */build* in the docker:
0 commit comments