Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges.

Similar presentations


Presentation on theme: " Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges."— Presentation transcript:

1

2  Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges  Large execution time International Institute of Information Technology, Hyderabad, India

3 A representation for chromosome Create Initial Population Select Parents Create New Population GA Parameters Terminate ? Evaluate Fitness Crossover Operator Mutation Operator Termination Criteria User Specifies … A method for fitness evaluation No Exit Ye s International Institute of Information Technology, Hyderabad, India

4  High degree of parallelism  Fitness evaluation  Crossover  Mutation  Most obvious :  chromosome level parallelism  Same Operations on each chromosome  Use a thread per chromosome International Institute of Information Technology, Hyderabad, India

5  Thread-per-chromosome model  Good enough for small to moderate sized multi-core  Doesn’t map well to a massively multithreaded GPUs  Solution :  identify and exploit gene-level parallelism International Institute of Information Technology, Hyderabad, India

6

7  A column of threads read a chromosome gene-by-gene and cooperate to perform operations  Results in coalesced read and faster processing Population Matrix in Memory Thread Blocks in a grid International Institute of Information Technology, Hyderabad, India

8 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Evaluation Kernel Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU International Institute of Information Technology, Hyderabad, India

9 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU Population Scores Evaluation Kernel International Institute of Information Technology, Hyderabad, India

10 Partially parallel method  Partially-parallel Method  User Specifies a serial code fragment for fitness evaluation.  Threads are arranged in a 1D grid.  Each thread executes user’s code on one chromosome.  Providing chromosome level parallelism.  Benefit : Abstraction Fully parallel method  CUDA familiar user can effectively use 2D thread layout  Use gene level Parallelism for fitness evaluation  Benefit : Efficiency International Institute of Information Technology, Hyderabad, India

11  Task :  Given weights, costs & knapsack capacity  Aim : maximize the cost.  Representation  1D binary string  0/1: Absence/Presence of an item,  W and C are total weight and Cost of given representation  Best Solution : One with max C given W < W max  Fully Parallel Method  Use a group of threads to compute total cost and weight in logarithmic time International Institute of Information Technology, Hyderabad, India

12 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU Scores Statistics Evaluation Kernel Statistics Update Kernel International Institute of Information Technology, Hyderabad, India

13  Selection and Termination most often use Population Statistics  We use standard parallel reduce algorithm to calculate  Max, Min, Average Scores  We use highly optimized public library CUDPP  To sort and rank chromosomes International Institute of Information Technology, Hyderabad, India

14 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU Statistics Parents Evaluation Kernel Selection Kernel International Institute of Information Technology, Hyderabad, India

15  Selection Kernel  Uses N/2 threads  Each thread selects two parents for producing offspring  Uniform Selection :  Selects parents in a uniform random manner  Roulette Wheel Selection:  Fitness based approach, more the fitness, better the chance of selection International Institute of Information Technology, Hyderabad, India

16  Roulette Wheel  Sort fitness scores  Compute a roulette wheel array by doing a prefix-sum scan of scores and normalizing it.  Generate a random number in 0- 1.  Perform binary search in roulette wheel array for the nearest smaller number to the randomly selected number.  Return the index of the result in array Image Courtesy : xyz International Institute of Information Technology, Hyderabad, India

17 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU Old Population New Population Evaluation Kernel Crossover Kernel International Institute of Information Technology, Hyderabad, India

18 GPU Global Memory Parent10208120515Parent20413071914Crossover0302 0401 Population Thread idy 02 04 03 Thread idy 081302 Thread idy 120702 Thread idy 051902 Thread idx 1-L 12345678 International Institute of Information Technology, Hyderabad, India

19 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU New Population Evaluation Kernel Mutation Kernel International Institute of Information Technology, Hyderabad, India

20 x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x Thread 1,4 Coin State Gene X Flip Coin Coin State Gene T Flip Mutator  Each thread handles one gene and mutates it with probability of mutation Thread Id x Thread Id y Population International Institute of Information Technology, Hyderabad, India

21 Thread Id x Thread Id y Population x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x x X x x x x F F F F F F T F F F F F F F F F F F F F F F F F F F F F T F F F F F F F F F T F F F F F F F F F F F F F F F F F F F F F F F F F F T F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F T F F F F F F F F F T F F F F F F F T F Thread 1,4 Coin State Gene X Flip Coin Coin State Gene T Flip Mutator  Each thread handles one gene and mutates it with probability of mutation International Institute of Information Technology, Hyderabad, India

22 Construct Initial Population On CPU GPU Global Memory Random Numbers Old Population New Population Fitness Scores Statistics Statistics Update Kernel Selection Kernel Crossover Kernel Mutation Kernel Parse GA Parameters Generate Random Numbers On GPU Random No.s Evaluation Kernel Generate Random Numbers International Institute of Information Technology, Hyderabad, India

23  Extensive use of random numbers  No primitive for on the fly single random number generation  Solution:  Generate a pool of random numbers and copy it on GPU  We use CUDPP routine to generate a large pool of random numbers on GPU (faster)  If better quality random numbers are needed, this can be replaced by a CPU based routine International Institute of Information Technology, Hyderabad, India

24  Test Device :  A quarter of Nvidia Tesla S1030 GPU  Test Problem :  Solve a 0/1 knapsack problem  Test Parameters:  Representation : A 1D Binary String  Crossover : One-point crossover  Mutation : Flip Mutation  Selection : Uniform and Roulette Wheel International Institute of Information Technology, Hyderabad, India

25 Ave. Run-time for 100 iterations (Uniform Selection) Ave. Run-time for 100 iterations (Roulette Wheel Selection) Growth in run-time for increase in NxL N: Population Size, L: Chromosome Length International Institute of Information Technology, Hyderabad, India

26  Our approach is modeled after GAlib and maintains structures for GA, Genome and Statistics  It is built with enough abstraction from user program so that user does not need to know CUDA architecture or programming.  This can be extended to build a GPU- Accelerated GA library International Institute of Information Technology, Hyderabad, India

27


Download ppt " Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges."

Similar presentations


Ads by Google