Changeset 8976
- Timestamp:
- 07/22/08 11:29:13
- Files:
-
- gnuradio/branches/features/mp-sched/config/gr_set_md_cpu.m4 (modified) (3 diffs)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/Makefile.am (modified) (7 diffs)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/dotprod_fff_altivec.c (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/dotprod_fff_altivec.c)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/dotprod_fff_altivec.h (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/dotprod_fff_altivec.h)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_altivec.c (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_altivec.c)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_altivec.h (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_altivec.h)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_cpu.cc (deleted)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_cpu.h (modified) (2 diffs)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_cpu_x86.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_x86.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_fir_fff_altivec.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_fff_altivec.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_fir_fff_altivec.h (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_fff_altivec.h)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/qa_dotprod_powerpc.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/qa_dotprod_powerpc.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/qa_filter.cc (modified) (2 diffs)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/qa_gr_fir_fff.cc (modified) (2 diffs)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc)
- gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/general/gr_math.h (modified) (1 diff)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core.dat (deleted)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat)
- gnuradio/branches/features/mp-sched/gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat (copied) (copied from gnuradio/branches/developers/eb/vmx/gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gnuradio/branches/features/mp-sched/config/gr_set_md_cpu.m4
r6044 r8976 1 1 dnl 2 dnl Copyright 2003 Free Software Foundation, Inc.2 dnl Copyright 2003,2008 Free Software Foundation, Inc. 3 3 dnl 4 4 dnl This file is part of GNU Radio … … 29 29 AC_MSG_CHECKING([for machine dependent speedups]) 30 30 case "$cf_with_md_cpu" in 31 x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;32 x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;33 # sparc) MD_CPU=sparc;;34 *) MD_CPU=generic;;31 x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;; 32 x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;; 33 powerpc*) MD_CPU=powerpc ;; 34 *) MD_CPU=generic ;; 35 35 esac 36 36 AC_MSG_RESULT($MD_CPU) … … 40 40 AM_CONDITIONAL(MD_CPU_x86, test "$MD_CPU" = "x86") 41 41 AM_CONDITIONAL(MD_SUBCPU_x86_64, test "$MD_SUBCPU" = "x86_64") 42 AM_CONDITIONAL(MD_CPU_powerpc, test "$MD_CPU" = "powerpc") 42 43 AM_CONDITIONAL(MD_CPU_generic, test "$MD_CPU" = "generic") 43 44 ]) gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/Makefile.am
r8057 r8976 118 118 sysconfig_x86.cc \ 119 119 gr_fir_sysconfig_x86.cc \ 120 gr_cpu .cc \120 gr_cpu_x86.cc \ 121 121 gr_fir_ccc_simd.cc \ 122 122 gr_fir_ccc_x86.cc \ … … 167 167 qa_ccomplex_dotprod_x86.cc 168 168 169 powerpc_CODE = \ 170 sysconfig_powerpc.cc \ 171 gr_fir_sysconfig_powerpc.cc \ 172 gr_cpu_powerpc.cc \ 173 gr_fir_fff_altivec.cc \ 174 gr_altivec.c \ 175 dotprod_fff_altivec.c 176 177 powerpc_qa_CODE = \ 178 qa_dotprod_powerpc.cc 179 180 169 181 # 170 182 # include each <foo>_CODE entry here... … … 176 188 $(x86_SUBCODE) \ 177 189 $(x86_64_SUBCODE) \ 178 $(x86_qa_CODE) 190 $(x86_qa_CODE) \ 191 $(powerpc_CODE) \ 192 $(powerpc_qa_CODE) 179 193 180 194 … … 235 249 endif 236 250 251 if MD_CPU_powerpc 252 libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE) 253 libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE) 254 endif 255 237 256 238 257 grinclude_HEADERS = \ … … 246 265 float_dotprod_x86.h \ 247 266 gr_adaptive_fir_ccf.h \ 267 gr_altivec.h \ 248 268 gr_cma_equalizer_cc.h \ 249 269 gr_cpu.h \ … … 273 293 noinst_HEADERS = \ 274 294 assembly.h \ 295 dotprod_fff_altivec.h \ 275 296 gr_fir_scc_simd.h \ 276 297 gr_fir_scc_x86.h \ … … 281 302 gr_fir_ccc_simd.h \ 282 303 gr_fir_ccc_x86.h \ 304 gr_fir_fff_altivec.h \ 283 305 gr_fir_fff_simd.h \ 284 306 gr_fir_fff_x86.h \ gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/gr_cpu.h
r6044 r8976 1 1 /* -*- c++ -*- */ 2 2 /* 3 * Copyright 2002 Free Software Foundation, Inc.3 * Copyright 2002,2008 Free Software Foundation, Inc. 4 4 * 5 5 * This file is part of GNU Radio … … 30 30 static bool has_3dnow (); 31 31 static bool has_3dnowext (); 32 static bool has_altivec (); 32 33 }; 33 34 gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/qa_filter.cc
r6575 r8976 43 43 44 44 s->addTest (qa_dotprod_suite ()); 45 s->addTest (qa_gri_mmse_fir_interpolator::suite ());46 s->addTest (qa_gri_mmse_fir_interpolator_cc::suite ());47 45 s->addTest (qa_gr_fir_fff::suite ()); 48 46 s->addTest (qa_gr_fir_ccc::suite ()); … … 50 48 s->addTest (qa_gr_fir_scc::suite ()); 51 49 s->addTest (qa_gr_fir_ccf::suite ()); 50 s->addTest (qa_gri_mmse_fir_interpolator::suite ()); 51 s->addTest (qa_gri_mmse_fir_interpolator_cc::suite ()); 52 52 53 53 return s; gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/filter/qa_gr_fir_fff.cc
r8292 r8976 144 144 test_random_io (fir_maker_t maker) 145 145 { 146 const int MAX_TAPS = 9;146 const int MAX_TAPS = 32; 147 147 const int OUTPUT_LEN = 17; 148 148 const int INPUT_LEN = MAX_TAPS + OUTPUT_LEN; … … 188 188 for (int o = 0; o < ol; o++){ 189 189 CPPUNIT_ASSERT_DOUBLES_EQUAL (expected_output[o], actual_output[o], 190 fabs (expected_output[o]) * 1e-4);190 fabs (expected_output[o]) * 9e-3); 191 191 } 192 192 gnuradio/branches/features/mp-sched/gnuradio-core/src/lib/general/gr_math.h
r8244 r8976 175 175 } 176 176 177 /*! 178 * \param x any value 179 * \param pow2 must be a power of 2 180 * \returns \p x rounded down to a multiple of \p pow2. 181 */ 182 static inline size_t 183 gr_p2_round_down(size_t x, size_t pow2) 184 { 185 return x & -pow2; 186 } 187 188 /*! 189 * \param x any value 190 * \param pow2 must be a power of 2 191 * \returns \p x rounded up to a multiple of \p pow2. 192 */ 193 static inline size_t 194 gr_p2_round_up(size_t x, size_t pow2) 195 { 196 return gr_p2_round_down(x + pow2 - 1, pow2); 197 } 198 199 /*! 200 * \param x any value 201 * \param pow2 must be a power of 2 202 * \returns \p x modulo \p pow2. 203 */ 204 static inline size_t 205 gr_p2_modulo(size_t x, size_t pow2) 206 { 207 return x & (pow2 - 1); 208 } 209 210 /*! 211 * \param x any value 212 * \param pow2 must be a power of 2 213 * \returns \p pow2 - (\p x modulo \p pow2). 214 */ 215 static inline size_t 216 gr_p2_modulo_neg(size_t x, size_t pow2) 217 { 218 return pow2 - gr_p2_modulo(x, pow2); 219 } 220 177 221 #endif /* _GR_MATH_H_ */
