Skip to content
Snippets Groups Projects
test_create_kernel_config.py 747 B
Newer Older
Jan Hönig's avatar
Jan Hönig committed
import numpy as np
Jan Hönig's avatar
Jan Hönig committed
import pystencils as ps
Markus Holzer's avatar
Markus Holzer committed
import pystencils.config
Jan Hönig's avatar
Jan Hönig committed


def test_create_kernel_config():
Markus Holzer's avatar
Markus Holzer committed
    c = pystencils.config.CreateKernelConfig()
Jan Hönig's avatar
Jan Hönig committed
    assert c.backend == ps.Backend.C
    assert c.target == ps.Target.CPU

Markus Holzer's avatar
Markus Holzer committed
    c = pystencils.config.CreateKernelConfig(target=ps.Target.GPU)
Jan Hönig's avatar
Jan Hönig committed
    assert c.backend == ps.Backend.CUDA

Markus Holzer's avatar
Markus Holzer committed
    c = pystencils.config.CreateKernelConfig(backend=ps.Backend.CUDA)
Jan Hönig's avatar
Jan Hönig committed
    assert c.target == ps.Target.CPU
    assert c.backend == ps.Backend.CUDA
Jan Hönig's avatar
Jan Hönig committed


def test_kernel_decorator_config():
Markus Holzer's avatar
Markus Holzer committed
    config = pystencils.config.CreateKernelConfig()
Jan Hönig's avatar
Jan Hönig committed
    a, b, c = ps.fields(a=np.ones(100), b=np.ones(100), c=np.ones(100))

    @ps.kernel_config(config)
    def test():
        a[0] @= b[0] + c[0]

    ps.create_kernel(**test)