Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jonas Plewinski
pystencils
Commits
9bd38c55
Commit
9bd38c55
authored
Aug 15, 2019
by
Stephan Seitz
Browse files
Add opencl1.1_known_functions.txt
parent
ecb1614f
Changes
3
Hide whitespace changes
Inline
Side-by-side
pystencils/backends/opencl1.1_known_functions.txt
0 → 100644
View file @
9bd38c55
acos
acosh
acospi
asin
asinh
asinpi
atan
atan2
atanh
atanpi
atan2pi
cbrt
ceil
copysign
cos
cosh
cospi
erfc
erf
exp
exp2
exp10
expm1
fabs
fdim
floor
fma
fmax
fmax
fmin45
fmin
fmod
fract
frexp
hypot
ilogb
ldexp
lgamma
lgamma_r
log
log2
log10
log1p
logb
mad
maxmag
minmag
modf
nextafter
pow
pown
powr
remquo
intn
remquo
rint
rootn
rootn
round
rsqrt
sin
sincos
sinh
sinpi
sqrt
tan
tanh
tanpi
tgamma
trunc
half_cos
half_divide
half_exp
half_exp2
half_exp10
half_log
half_log2
half_log10
half_powr
half_recip
half_rsqrt
half_sin
half_sqrt
half_tan
native_cos
native_divide
native_exp
native_exp2
native_exp10
native_log
native_log2
native_log10
native_powr
native_recip
native_rsqrt
native_sin
native_sqrt
native_tan
pystencils/backends/opencl_backend.py
View file @
9bd38c55
from
os.path
import
dirname
,
join
import
pystencils.data_types
from
pystencils.astnodes
import
Node
from
pystencils.backends.cbackend
import
CustomSympyPrinter
,
generate_c
from
pystencils.backends.cuda_backend
import
CudaBackend
,
CudaSympyPrinter
from
pystencils.fast_approximation
import
fast_division
,
fast_inv_sqrt
,
fast_sqrt
with
open
(
join
(
dirname
(
__file__
),
'opencl1.1_known_functions.txt'
))
as
f
:
lines
=
f
.
readlines
()
OPENCL_KNOWN_FUNCTIONS
=
{
l
.
strip
():
l
.
strip
()
for
l
in
lines
if
l
}
def
generate_opencl
(
astnode
:
Node
,
signature_only
:
bool
=
False
)
->
str
:
"""Prints an abstract syntax tree node as CUDA code.
...
...
@@ -58,6 +64,10 @@ class OpenClSympyPrinter(CudaSympyPrinter):
'gridDim'
:
'get_global_size'
}
def
__init__
(
self
):
CustomSympyPrinter
.
__init__
(
self
)
self
.
known_functions
=
OPENCL_KNOWN_FUNCTIONS
def
_print_ThreadIndexingSymbol
(
self
,
node
):
symbol_name
:
str
=
node
.
name
function_name
,
dimension
=
tuple
(
symbol_name
.
split
(
"."
))
...
...
setup.py
View file @
9bd38c55
...
...
@@ -88,7 +88,10 @@ setup(name='pystencils',
url
=
'https://i10git.cs.fau.de/pycodegen/pystencils/'
,
packages
=
[
'pystencils'
]
+
[
'pystencils.'
+
s
for
s
in
find_packages
(
'pystencils'
)],
install_requires
=
[
'sympy>=1.1'
,
'numpy'
,
'appdirs'
,
'joblib'
],
package_data
=
{
'pystencils'
:
[
'include/*.h'
,
'backends/cuda_known_functions.txt'
]},
package_data
=
{
'pystencils'
:
[
'include/*.h'
,
'backends/cuda_known_functions.txt'
,
'backends/opencl1.1_known_functions.txt'
]},
ext_modules
=
cython_extensions
(
"pystencils.boundaries.createindexlistcython"
),
classifiers
=
[
'Development Status :: 4 - Beta'
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment