Introduction of this project
This section describes the internal structure of the CALYPSO. And introducing the basic algorithms of the CALYPSO.
Make sure it is updated when you are developing the CALYPSO.
Basic structure
Main Thread(Runner)
flowchart LR id1[population] -- Calydata --> id2[generator wrapper] -- Calydata --> id3[database] --> id4[workers] --> id1
Main Thread (Runner)
Workers Thread(WorkerTreads)
flowchart LR subgraph sent_task direction LR runner -- Calydata --> optimizer optimizer -- optcontext --> dispatcher end subgraph receive_task direction LR id0[dispatcher] -- optcontext --> id1[optimizer] id1[optimizer] -- Calydata --> population end
Workers Thread (WorkerTreads)
Dispatcher
flowchart LR database <-- optcontext --> resource1 & resource2 & ...
Main
The CALYPSO is a Python package.
calypso.x
begin at calypso/cli.py:6
and it deal with command line arguments and pass them to calypso.main
flowchart LR subgraph sg1[Init basic] direction TB id1[Find config file] --> id2[Read config file] id2[Read config file] --> id3[Seed everything] id3[Seed everything] --> id4[Pick up set] end subgraph sg2[Init instance] direction LR id5[CalyDatabase] id6[Population] id7[Descriptor] id8[Gbest] id9[Pbest] id10[Fitness] id11[Evolution] id12[Generator] id13[Optimizer] id14[GeneratorWrapper] Dispatcher Runner sg1out(config) --> id5 & id6 & id7 & id8 & id9 & id10 & id11 & id12 & id13 & Dispatcher & Runner subgraph sg3[Database] direction TB id5 --> id5out(database) end subgraph sg4[Population] id5out --> id6 --> id6out(population) end subgraph sg5[Descriptor] id7 --> id7out(descriptor) end subgraph sg6[Evolution] id11 --> id11out(evolutioner) end subgraph sg7[Generator] id12 --> id12out(generator) end subgraph sg8[GeneratorWrapper] id11 & id12 --> id14 --> id14out(generator_wrapper) end subgraph FitnessSub id10 --> id10out(fitness) end subgraph OptimizerSub id10out --> id13 --> id13out(optimizer) end subgraph DispatcherSub id5out --> Dispatcher --> Disout(dispatcher) end end sg1 --> sg2
flowchart LR subgraph RunnerSub id5out(database) & id6out(population) & id13out(optimizer) & id14out(generator_wrapper) & Disout(dispatcher) --> Runner end