From jules at codesourcery.com Tue Jul 1 15:16:07 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Tue, 01 Jul 2008 11:16:07 -0400 Subject: [patch] Reconcile VSIPL++ and CML caching Message-ID: <486A4A37.8040707@codesourcery.com> This modifies VSIPL++ to use CML's caching (via cache_alf_task_create/destroy), allowing VSIPL++ to work with a CML that has caching enabled (while still letting VSIPL++ cache too). It contains a new test that stresses the kernel swapping. Ok to apply? -- Jules -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: cache.diff URL: From don at codesourcery.com Tue Jul 1 22:42:25 2008 From: don at codesourcery.com (Don McCoy) Date: Tue, 01 Jul 2008 16:42:25 -0600 Subject: [vsipl++] [patch] Add byte-swapping support to save/load_view.hpp In-Reply-To: <4856EC95.2050504@codesourcery.com> References: <4856EC95.2050504@codesourcery.com> Message-ID: <486AB2D1.7010104@codesourcery.com> There were two problems with the previous version of this patch. First, the save_view function was reversing the bytes in the view in-place. This has been fixed by forcing it to copy the view so as to avoid this problem. Second, complex values were being handled incorrectly, i.e. for complex floats, the entire 8-byte quantity was being swapped leading to the reversal of the imaginary and real components. The correct operation is to perform two, four-bytes swaps. Regression tests for the above were added. Regards, -- Don McCoy don (at) CodeSourcery (888) 776-0262 / (650) 331-3385, x712 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: sv.changes URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: sv.diff URL: From stefan at codesourcery.com Thu Jul 3 00:34:10 2008 From: stefan at codesourcery.com (Stefan Seefeld) Date: Wed, 02 Jul 2008 20:34:10 -0400 Subject: [vsipl++] [patch] Reconcile VSIPL++ and CML caching In-Reply-To: <486A4A37.8040707@codesourcery.com> References: <486A4A37.8040707@codesourcery.com> Message-ID: <486C1E82.8010304@codesourcery.com> Jules Bergmann wrote: > This modifies VSIPL++ to use CML's caching (via > cache_alf_task_create/destroy), allowing VSIPL++ to work with a CML that > has caching enabled (while still letting VSIPL++ cache too). Wow, that is elegant (clever, yet so simple) ! > It contains a new test that stresses the kernel swapping. > > Ok to apply? Yes, please. (I take it you are going to apply the same switch from cached_alf_task_desc_create() to cached_alf_task_desc_init() that you just did for CML, prior to checking this in, right ?) Thanks, Stefan -- Stefan Seefeld CodeSourcery stefan at codesourcery.com (650) 331-3385 x718 From jules at codesourcery.com Thu Jul 10 17:50:08 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Thu, 10 Jul 2008 13:50:08 -0400 Subject: [patch] Add missing include for save_view.hpp Message-ID: <48764BD0.8010501@codesourcery.com> Patch applied. -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: sv.diff URL: From jules at codesourcery.com Thu Jul 10 18:25:16 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Thu, 10 Jul 2008 14:25:16 -0400 Subject: [patch] Configury for using CML/Cell Message-ID: <4876540C.2090904@codesourcery.com> This patch: - creates a symbolic link to cml_kernels.so when --with-cml-prefix is given. This allows development to occur from an installed CML without having to install CML into the VSIPL++ build directory. This is only intended as a work around during development, since cml_kernels.so will not be installed by VSIPL++. - installs svpp_kernels.so Ok to apply? -- Jules -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: cfg.diff URL: From jules at codesourcery.com Fri Jul 11 07:05:45 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Fri, 11 Jul 2008 03:05:45 -0400 Subject: [patch] Misc fixes and work arounds Message-ID: <48770649.6000908@codesourcery.com> This patch fixes several test failures when using CML, and works around two cases where CML breaks (non-unit-stride+dense transpose, and non-decimation=1 FIR). Patch applied. -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: fix.diff URL: From howes at ll.mit.edu Fri Jul 11 14:33:09 2008 From: howes at ll.mit.edu (Brad Howes) Date: Fri, 11 Jul 2008 10:33:09 -0400 Subject: Token Issue with Intel's MKL and Boost 1.35 Message-ID: <7C60DBDF-C579-4EC5-ACDC-376882FEE601@ll.mit.edu> We've been running fine with VSIPL++ 1.4 until recently when I tried to install our software with the latest versions of Boost. I was getting bizarre compile failures in some esoteric Boost includes that I traced all the way to vsip/opt/lapack/bindings.hpp where it includes mkl_cblas.h (when configured to use Intel's MKL). After that include (line 90), the symbol 'P4' is defined as '2' along with some other preprocessor contamination. Unfortunately, Boost has some templates that have a 'P4' template argument, which makes the compiler barf after the token substitution. I filed a bug report with Boost alerting them of the problem, and suggesting that perhaps they should uglify their names. Even better would be to have Intel stop polluting the token space. However, I'm not sure how much traction I'll get there. So, I thought I'd raise the issue with you all here, to see if there is something that can be done within VSIPL++ to keep this from happening in the future (I patched my installation by undef'ing P4 after including mkl_cblas.h). Regards, Brad -- Brad Howes Group 42 MIT Lincoln Laboratory ? 244 Wood St. ? Lexington, MA 02173 Phone: 781.981.5292 ? Fax: 781.981.3495 ? Secretary: 781.981.7420 From stefan at codesourcery.com Fri Jul 11 15:01:38 2008 From: stefan at codesourcery.com (Stefan Seefeld) Date: Fri, 11 Jul 2008 11:01:38 -0400 Subject: [vsipl++] Token Issue with Intel's MKL and Boost 1.35 In-Reply-To: <7C60DBDF-C579-4EC5-ACDC-376882FEE601@ll.mit.edu> References: <7C60DBDF-C579-4EC5-ACDC-376882FEE601@ll.mit.edu> Message-ID: <487775D2.3050207@codesourcery.com> Brad, thanks for the report. The issue of global namespace pollution through included third-party libraries (headers) is on our radar. For some libraries we were successful in hiding these headers from the user by only including them in .cpp files, but not publicly visible headers. I'm not sure whether this is possible for MKL, too. We will look into this. Thanks, Stefan -- Stefan Seefeld CodeSourcery stefan at codesourcery.com (650) 331-3385 x718 From don at codesourcery.com Thu Jul 17 23:22:17 2008 From: don at codesourcery.com (Don McCoy) Date: Thu, 17 Jul 2008 17:22:17 -0600 Subject: [patch] SSAR application - add capability to read little-endian files on big-endian systems Message-ID: <487FD429.4030609@codesourcery.com> The default behavior with this patch is to keep the present behavior and assume that no byte swapping should take place when reading files from disk on little-endian systems (the files in the apps/ssar/set1 are in little-endian format). On big-endian systems, the bytes will be swapped into the correct order by default. In either case, the user can override this behavior by using the new switches "-swap" and "-noswap". It also fixes a minor error in header file location and a path error in the makefile that occurs only when 'prefix' is /not/ used (hence the reason we didn't notice it). Ok to apply? -- Don McCoy don (at) CodeSourcery (888) 776-0262 / (650) 331-3385, x712 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: be.changes URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: be.diff URL: From jules at codesourcery.com Fri Jul 18 01:39:33 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Thu, 17 Jul 2008 21:39:33 -0400 Subject: [vsipl++] [patch] Add byte-swapping support to save/load_view.hpp In-Reply-To: <486AB2D1.7010104@codesourcery.com> References: <4856EC95.2050504@codesourcery.com> <486AB2D1.7010104@codesourcery.com> Message-ID: <487FF455.7070406@codesourcery.com> Don McCoy wrote: > There were two problems with the previous version of this patch. First, > the save_view function was reversing the bytes in the view in-place. > This has been fixed by forcing it to copy the view so as to avoid this > problem. Second, complex values were being handled incorrectly, i.e. > for complex floats, the entire 8-byte quantity was being swapped leading > to the reversal of the imaginary and real components. The correct > operation is to perform two, four-bytes swaps. > > Regression tests for the above were added. Don, This look good, please check it in. There are a couple of things we could do to further optimize save_view, on a rainy day: - in save_view when it is necessary to swap bytes, instead of copying and then swapping bytes as two steps, it would be more efficient to perform that as a single step (copy & swap in one step). - also in save_view, instead of copying the entire view (which requires a potentially large temporary allocation), you could copy/swap the view in chunks. The chunk size might be chosen (a) large enough for fwrite to be efficient and (b) small enough to live on the stack. -- Jules -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 From jules at codesourcery.com Tue Jul 22 17:00:55 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Tue, 22 Jul 2008 13:00:55 -0400 Subject: [patch] regression for CML FIR BE copy cons Message-ID: <48861247.6070808@codesourcery.com> This regressions triggers the bug in the CML FIR BE when a FIR object is copied. Patch applied. -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: fcc.diff URL: From jules at codesourcery.com Tue Jul 22 17:53:16 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Tue, 22 Jul 2008 13:53:16 -0400 Subject: [patch] Use CML FIR object copy state Message-ID: <48861E8C.2020701@codesourcery.com> This patch uses the just posted CML FIR copy state to fix the CML FIR BE copy constructor. With this patch, previously failing tests tests/regressions/fir_copy_cons.cpp and tests/ref-impl/signal-fir.cpp now pass. Patch applied. -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: fir-copy.diff URL: From jules at codesourcery.com Mon Jul 28 20:50:47 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Mon, 28 Jul 2008 16:50:47 -0400 Subject: [patch] Fix Transpose CML BE Message-ID: <488E3127.9060608@codesourcery.com> Very small typo that was causing transpose regressions to fail. Sorry for pointing the finger of blame at CML! (I went through creating a CML test case before coming back to VSIPL++, oops :) Patch applied. Rerunning tests on Cell/B.E. -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: trans.diff URL: From don at codesourcery.com Tue Jul 29 22:13:05 2008 From: don at codesourcery.com (Don McCoy) Date: Tue, 29 Jul 2008 16:13:05 -0600 Subject: [patch] Update CML bindings for convolution (size parameter order) Message-ID: <488F95F1.9070000@codesourcery.com> This patch swaps the order of the kernel size and output size parameters when calling CML functions. The calling order is now consistent across convolution and correlation (all dimensions). Tested with 32-bit CML built with gcc. Ok to commit? -- Don McCoy don (at) CodeSourcery (888) 776-0262 / (650) 331-3385, x712 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: vpp_conv_order.changes URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: vpp_conv_order.diff URL: From stefan at codesourcery.com Wed Jul 30 01:20:02 2008 From: stefan at codesourcery.com (Stefan Seefeld) Date: Tue, 29 Jul 2008 21:20:02 -0400 Subject: [vsipl++] [patch] Update CML bindings for convolution (size parameter order) In-Reply-To: <488F95F1.9070000@codesourcery.com> References: <488F95F1.9070000@codesourcery.com> Message-ID: <488FC1C2.4070700@codesourcery.com> Don McCoy wrote: > This patch swaps the order of the kernel size and output size parameters > when calling CML functions. The calling order is now consistent across > convolution and correlation (all dimensions). > > Tested with 32-bit CML built with gcc. > > Ok to commit? This looks ('obviously' :-) ) good, too. Thanks, Stefan -- Stefan Seefeld CodeSourcery stefan at codesourcery.com (650) 331-3385 x718 From jules at codesourcery.com Wed Jul 30 01:21:54 2008 From: jules at codesourcery.com (Jules Bergmann) Date: Tue, 29 Jul 2008 21:21:54 -0400 Subject: [vsipl++] [patch] Update CML bindings for convolution (size parameter order) In-Reply-To: <488F95F1.9070000@codesourcery.com> References: <488F95F1.9070000@codesourcery.com> Message-ID: <488FC232.9020007@codesourcery.com> Don McCoy wrote: > This patch swaps the order of the kernel size and output size parameters > when calling CML functions. The calling order is now consistent across > convolution and correlation (all dimensions). > > Tested with 32-bit CML built with gcc. > > Ok to commit? > > This looks good too! -- Jules -- Jules Bergmann CodeSourcery jules at codesourcery.com (650) 331-3385 x705