###XEngine is a general framework designed to be used as a toy at home.
###Note: This project provides a docker environment for convenient testing and usage, and can also run directly on Ubuntu by installing bazel and clang15+.
###build: There is a build and run process:
- use ./docker/scripts/dev_start.sh start to start and pull the Docker images;
- enter the Docker environment with ./docker/scripts/dev_into.sh;
- compile inside Docker with ./run.sh build_opt;
###run: 4. run unit tests with ./run.sh run_unit_test.
#If you would like to create your own docker image, you can use the docker image creation tool to create your own docker. After that, you can modify the DEV="lixiaoxmm/xengine:v1.3.xmake_1668767811" in the script ./docker/scripts/dev_start.sh to your source.
###release note:
1.The graph framework is flexible and currently uses an adjacency matrix to store information of each node. In the future, there will be options to add an adjacency list and chain forward star for more capabilities. Additionally, various graph algorithms can be implemented and interested developers can make pull requests (PRs).(https://github.com/LishaUnfoolish/XEngine/tree/master/hpcs/graph)
2.The flow builder module can be used in conjunction with the graph module to construct workflows for various tasks.。(https://github.com/LishaUnfoolish/XEngine/blob/master/hpcs/task/flow_builder.hpp)
3.The Runner module is responsible for executing workflows built by the Builder. Currently, a step is taken by feature and future coroutine scheduling will be added to the task directory..(https://github.com/LishaUnfoolish/XEngine/blob/master/hpcs/task/runner.hpp)
4.The 'scheduler' module is the scheduler for the coroutine pool. Currently, only a simple scheduler has been implemented, which is similar to the GMP architecture. In the future, different policies such as priority scheduler, time slice scheduler, preemptive scheduler, etc. will be added. These can be configured by writing a JSON configuration file.
5.Add CUDA opencv4 environment and test code