大多数在线提供的 Numba、CuPy 等示例都是简单的数组添加,显示了从 CPU 单核/线程到 GPU 的加速。命令文档大多缺乏很好的例子。这篇文章旨在提供一个更全面的例子。
此处提供了初始代码。它是经典元胞自动机的简单模型。最初,它甚至不使用 numpy,只使用简单的 python 和 Pyglet 模块进行可视化。
我的目标是将此代码扩展到特定问题(这将非常大),但首先我认为最好已经针对 GPU 使用进行了优化。
game_of_life.py 是这样的:
import random as rnd
import pyglet
#import numpy as np
#from numba import vectorize, cuda, jit
class GameOfLife:
def __init__(self, window_width, window_height, cell_size, percent_fill):
self.grid_width = int(window_width / cell_size) # cell_size
self.grid_height = int(window_height / cell_size) #
self.cell_size = cell_size
self.percent_fill = percent_fill
self.cells = []
self.generate_cells()
def generate_cells(self):
for row in range(0, self.grid_height):
self.cells.append([])
for col in range(0, …Run Code Online (Sandbox Code Playgroud)