Merge lp://staging/~schnetter/pocl/main into lp://staging/~pocl/pocl/trunk
Proposed by
Erik Schnetter
Status: | Merged |
---|---|
Merged at revision: | 49 |
Proposed branch: | lp://staging/~schnetter/pocl/main |
Merge into: | lp://staging/~pocl/pocl/trunk |
Diff against target: |
10089 lines (+7828/-739) 136 files modified
.bzrignore (+1/-1) README (+1/-0) acinclude.m4 (+0/-271) configure.ac (+7/-6) examples/Makefile.am (+1/-1) examples/example1/example1.c (+2/-1) examples/example1/example1.cl (+6/-6) examples/example2/example2.c (+1/-1) examples/trig/Makefile.am (+31/-0) examples/trig/trig (+210/-0) examples/trig/trig.c (+97/-0) examples/trig/trig.cl (+13/-0) examples/trig/trig_exec.c (+158/-0) include/_kernel.h (+1255/-13) lib/CL/clBuildProgram.c (+1/-1) lib/CL/clCreateKernel.c (+2/-1) lib/CL/clEnqueueNDRangeKernel.c (+1/-1) lib/CL/devices/native/native.c (+1/-1) lib/CL/devices/pthread/pthread.c (+0/-317) lib/CL/devices/pthread/pthread.h (+0/-100) lib/CL/pocl_cl.h (+1/-1) lib/kernel/Makefile.am (+114/-2) lib/kernel/abs.cl (+35/-0) lib/kernel/abs_diff.cl (+26/-0) lib/kernel/acos.cl (+26/-0) lib/kernel/acosh.cl (+26/-0) lib/kernel/acospi.cl (+26/-0) lib/kernel/add_sat.cl (+55/-0) lib/kernel/all.cl (+142/-0) lib/kernel/any.cl (+142/-0) lib/kernel/as_type.cl (+171/-0) lib/kernel/asin.cl (+26/-0) lib/kernel/asinh.cl (+26/-0) lib/kernel/asinpi.cl (+26/-0) lib/kernel/atan.cl (+26/-0) lib/kernel/atan2.cl (+26/-0) lib/kernel/atan2pi.cl (+26/-0) lib/kernel/atanh.cl (+26/-0) lib/kernel/atanpi.cl (+26/-0) lib/kernel/bitselect.cl (+33/-0) lib/kernel/cbrt.cl (+26/-0) lib/kernel/ceil.cl (+154/-0) lib/kernel/clamp.cl (+28/-0) lib/kernel/clz.cl (+75/-0) lib/kernel/convert_type.cl (+180/-0) lib/kernel/copysign.cl (+130/-0) lib/kernel/cos.cl (+26/-0) lib/kernel/cosh.cl (+26/-0) lib/kernel/cospi.cl (+27/-0) lib/kernel/cross.cl (+46/-0) lib/kernel/degrees.cl (+26/-0) lib/kernel/distance.cl (+26/-0) lib/kernel/dot.cl (+58/-10) lib/kernel/erf.cl (+26/-0) lib/kernel/erfc.cl (+26/-0) lib/kernel/exp.cl (+26/-0) lib/kernel/exp10.cl (+26/-0) lib/kernel/exp2.cl (+26/-0) lib/kernel/expm1.cl (+26/-0) lib/kernel/fabs.cl (+131/-0) lib/kernel/fast_distance.cl (+26/-0) lib/kernel/fast_length.cl (+28/-0) lib/kernel/fast_normalize.cl (+29/-0) lib/kernel/fdim.cl (+26/-0) lib/kernel/floor.cl (+152/-0) lib/kernel/fma.cl (+27/-0) lib/kernel/fmax.cl (+154/-0) lib/kernel/fmin.cl (+154/-0) lib/kernel/fmod.cl (+26/-0) lib/kernel/fract.cl (+26/-0) lib/kernel/hadd.cl (+29/-0) lib/kernel/hypot.cl (+27/-0) lib/kernel/ilogb.cl (+26/-0) lib/kernel/isequal.cl (+29/-0) lib/kernel/isfinite.cl (+28/-0) lib/kernel/isgreater.cl (+28/-0) lib/kernel/isgreaterequal.cl (+28/-0) lib/kernel/isinf.cl (+28/-0) lib/kernel/isless.cl (+28/-0) lib/kernel/islessequal.cl (+28/-0) lib/kernel/islessgreater.cl (+28/-0) lib/kernel/isnan.cl (+28/-0) lib/kernel/isnormal.cl (+28/-0) lib/kernel/isnotequal.cl (+29/-0) lib/kernel/isordered.cl (+29/-0) lib/kernel/isunordered.cl (+28/-0) lib/kernel/ldexp.cl (+27/-0) lib/kernel/length.cl (+26/-0) lib/kernel/lgamma.cl (+26/-0) lib/kernel/log.cl (+26/-0) lib/kernel/log10.cl (+26/-0) lib/kernel/log1p.cl (+26/-0) lib/kernel/log2.cl (+26/-0) lib/kernel/logb.cl (+26/-0) lib/kernel/mad.cl (+26/-0) lib/kernel/mad24.cl (+2/-5) lib/kernel/mad_hi.cl (+30/-0) lib/kernel/mad_sat.cl (+94/-0) lib/kernel/max.cl (+31/-0) lib/kernel/maxmag.cl (+26/-0) lib/kernel/min.cl (+31/-0) lib/kernel/minmag.cl (+26/-0) lib/kernel/mix.cl (+27/-0) lib/kernel/mul24.cl (+26/-0) lib/kernel/mul_hi.cl (+86/-0) lib/kernel/nan.cl (+49/-0) lib/kernel/nextafter.cl (+26/-0) lib/kernel/normalize.cl (+26/-0) lib/kernel/pow.cl (+26/-0) lib/kernel/pown.cl (+31/-0) lib/kernel/powr.cl (+26/-0) lib/kernel/radians.cl (+26/-0) lib/kernel/remainder.cl (+26/-0) lib/kernel/rhadd.cl (+29/-0) lib/kernel/rint.cl (+26/-0) lib/kernel/rootn.cl (+35/-0) lib/kernel/rotate.cl (+31/-0) lib/kernel/round.cl (+26/-0) lib/kernel/rsqrt.cl (+26/-0) lib/kernel/select.cl (+34/-0) lib/kernel/sign.cl (+31/-0) lib/kernel/signbit.cl (+26/-0) lib/kernel/sin.cl (+26/-0) lib/kernel/sinh.cl (+26/-0) lib/kernel/sinpi.cl (+26/-0) lib/kernel/smoothstep.cl (+31/-0) lib/kernel/sqrt.cl (+122/-0) lib/kernel/step.cl (+38/-0) lib/kernel/sub_sat.cl (+55/-0) lib/kernel/tan.cl (+26/-0) lib/kernel/tanh.cl (+26/-0) lib/kernel/tanpi.cl (+26/-0) lib/kernel/templates.h (+1185/-0) lib/kernel/tgamma.cl (+26/-0) lib/kernel/trunc.cl (+26/-0) lib/kernel/upsample.cl (+70/-0) |
To merge this branch: | bzr merge lp://staging/~schnetter/pocl/main |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Carlos Sánchez de La Lama | Approve | ||
Erik Schnetter | Needs Resubmitting | ||
Review via email: mp+80344@code.staging.launchpad.net |
Description of the change
This branch implements many functions for an OpenCL run-time library. Most functions are forwarded to libc, some are implemented directly when building for x86.
To post a comment you must log in.
Hi erik,
lot of functions implemented, great! :)
Just some comments:
1) fmax.cl, fmin.cl and sqrt.cl gave me compilations errors, similar to this: ./../src/ pocl.schnetter/ lib/kernel/ fmax.cl: 35:11: error: invalid conversion between ext-vector type 'float4' and '__attribute_ _((__vector_ size__( 4 * sizeof(float)))) float' __builtin_ ia32_maxss( *(float4* )&a, *(float4*)&b)).s0;
^~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~ ./../src/ pocl.schnetter/ lib/kernel/ fmax.cl: 91:11: error: invalid conversion between ext-vector type 'double2' and '__attribute_ _((__vector_ size__( 2 * sizeof(double)))) double' __builtin_ ia32_maxsd( *(double2* )&a, *(double2*)&b)).s0;
^~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~
../../.
return ((float4)
../../.
return ((double2)
2 errors generated.
2) Makefile in trig directory is not generated (missing the appropiate line at the end of configure.ac).
3) If I add that line trig test still do not compile for me: CL/libCL. la CL/.libs/ libCL.so prj/ttagpu/ bld/pocl. schnetter/ examples/ trig/.. /../../ ../src/ pocl.schnetter/ examples/ trig/trig. c:73: undefined reference to `sqrtf' prj/ttagpu/ bld/pocl. schnetter/ examples/ trig/.. /../../ ../src/ pocl.schnetter/ examples/ trig/trig. c:78: undefined reference to `exec_trig_kernel' prj/ttagpu/ bld/pocl. schnetter/ examples/ trig/.. /../../ ../src/ pocl.schnetter/ examples/ trig/trig. c:72: undefined reference to `sinf' prj/ttagpu/ bld/pocl. schnetter/ examples/ trig/.. /../../ ../src/ pocl.schnetter/ examples/ trig/trig. c:74: undefined reference to `tanf' prj/ttagpu/ bld/pocl. schnetter/ examples/ trig/.. /../../ ../src/ pocl.schnetter/ examples/ trig/trig. c:70: undefined reference to `cosf'
/bin/bash ../../libtool --tag=CC --mode=link gcc -g -O2 -o trig trig.o ../../lib/
libtool: link: gcc -g -O2 -o .libs/trig trig.o ../../lib/
trig.o: In function `main':
/home/csanchez/
/home/csanchez/
/home/csanchez/
/home/csanchez/
/home/csanchez/
collect2: ld returned 1 exit status
make[3]: *** [trig] Error 1
Can you please check those? Are they due to some version mismatch among us?
Carlos