[vsipl++] [patch] CBE split-complex vmmul

Stefan Seefeld stefan at codesourcery.com
Thu Oct 2 20:34:56 UTC 2008


Jules Bergmann wrote:
> This adds CBE dispatch for split-complex vmmul.  This is a bit late in 
> the release, but is important to a customer.
> 
> Tested with cbe32/debug vmmul related tests (regr-vmmul.cpp, vmmul.cpp, 
> fastconv.cpp, fc1-parallel.cpp) and benchmarks (vmmul.cpp).
> 
> It also includes a new option (--svpp-tm-verbose) that makes the 
> task_manager print out when a new task is loaded.  This was useful for 
> optimizing SSAR.  This requires a CML patch to work.  Without the CML 
> patch it won't do anything.

The patch looks good, though I do have some comments. While I consider 
them important, I don't think they are important enough to hold up the 
release, so please check this patch in as is, then let's discuss how to 
address these points:

* What is the use case for the 'verbose' flag ? How does it differ from 
profiling ? Couldn't it be integrated into the profiler, such that users 
would see task initialization / finalization in the profile logs ?

> -    int   argc = 3;
> -    char* argv[3];
> -    char  number[256];
> +    int   argc = 5;
> +    char* argv[5];
> +    char  number[256], t_verbose[256];
>      sprintf(number, "%u", num_accelerators);
> +    sprintf(t_verbose, "%u", verbose ? 1 : 0);

* AFAIU, we agreed to using stdio for SPE code, and std::iostream for 
anything else. Shouldn't we thus use std::stringstream here ?

* Compiling this and similar code with GCC 4.3 results in warnings 
related to conversion from char const* to char* (the assignment of 
string literals to argv), and I wondered (quickly) how to get around 
that. We may want to get back to that when preparing the 2.1 release on 
Fedora 9, which uses GCC 4.3.

Thanks,
		Stefan

-- 
Stefan Seefeld
CodeSourcery
stefan at codesourcery.com
(650) 331-3385 x718



More information about the vsipl++ mailing list