Skip to content

This project implements a tool for metabolic engineering to find knockout targets to optimize production of substances, partially implemented in CUDA

License

Notifications You must be signed in to change notification settings

SethosII/gpu-knocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gpu-knocker

This project implements a tool for metabolic engineering to find knockout targets to optimize production of substances, partially implemented in CUDA.

The project is developed on Linux (CentOS 6) with a K20 (compute capability 3.5). Other plattforms aren't tested.

Parameters

Parameters can be provided by a file to override defaults. The file should contain key value pairs (case sensitive). Below is an example with all parameters set to their default values:

# parameters as `key value` pairs
# case sensitive

# EA parameters
individualSize 1024
islandAmount 1
iterationAmount 1000
migrationInterval 10000
migrationSize 5
mutationRate 0.2
mutationStrength 1
populationSize 100
selectionRate 0.3
tournamentSize 5

# general parameters
isBenchmark false
isVerbose false

# GPU parameters
blockSize 192
gridSize 12
warpSize 32

# LP parameters
biomass 0
product 0
substrate 0
maintenance 0

The numbers for biomass, product, substrate and maintenance refer to the numbers of the reactions in the MPS file (one based). These reactions are protected from being knocked out and are used to compute the biomass-product coupled yield (BPCY).

Build

nvcc -o gpu-knocker src/*.c src/*.cu -lglpk -arch=sm_35 --relocatable-device-code=true -O3

Run

./gpu-knocker lpProblem.mps parameter.conf

Status

About

This project implements a tool for metabolic engineering to find knockout targets to optimize production of substances, partially implemented in CUDA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published