Boost logo

Ublas :

Subject: Re: [ublas] [PATCH 3/3] boost::ublas increasing the range of BLAS level 3 benchmarks
From: palik imre (imre_palik_at_[hidden])
Date: 2016-03-06 04:42:20


Fork is here: https://github.com/imre-palik/ublas/tree/feature/ublas00004_simd_gemm

pull request is sent.

--------------------------------------------
On Mon, 29/2/16, Nasos Iliopoulos <nasos_i_at_[hidden]> wrote:

 Subject: Re: [ublas] [PATCH 3/3] boost::ublas increasing the range of BLAS level 3 benchmarks
 To: ublas_at_[hidden]
 Date: Monday, 29 February, 2016, 17:52
 
 
     The development process is as follows:
 
     
 
     1. Create your fork from https://github.com/uBLAS/ublas
 (NOT
     boostorg). In that fork you could create a branch that
 you work on,
     or use an already existing branch. For the simd gemm I
 just created
     a branch so you don't need to create one
     (https://github.com/uBLAS/ublas/tree/feature/ublas00004_simd_gemm).
     For quick changes we are just using the develop
 branch.
 
     
 
     2. Setup your local environment as described in :
     https://github.com/uBLAS/ublas/wiki.
 Please replace the submodule in
     step "3. Replace the default submodule with the
 ublas dev
     repository:"  with your fork. Please note that
 many of the
     instructions in the wiki refer to users that have write
 access in
     ublas/ublas. Many apply though for your fork that you
 will have
     write access to.
 
     
 
     3. Work in your fork and branch according to regular git
 process
     (checkout the feature/ublas00004_simd_gemm branch, and
 perform
     regular:
 
     git add ...
 
     git commit -am "Change text ...."
 
     git push
 
     please note that these need to be executed in your
 forked ublas
     repository.)
 
     * Here I have put the most used git command:
 
     https://github.com/uBLAS/ublas/wiki/Basic-GIT-commands
 
     
 
     4. When done working on your branch and want to
 incorporate into
     ublas create a pull request from the github interface
 and we will
     take care of:
 
     (a). Merging into develop
 
     (b). Creating a pull request to boostorg/develop so that
 the test
     can be run
 (http://www.boost.org/development/tests/develop/developer/numeric-ublas.html)
 
     (c). David accepting the pull request and
 
     (c). Merge into master if all seem ok.
 
     
 
     * Essentially we are trying to stick to:
 
     http://nvie.com/posts/a-successful-git-branching-model/
 
     with the added redirections of requesting pulls to
 boostorg/ublas
     ONLY for develop and master Branches.
 
     
 
     * If you want to test pull requests and the dev model,
 play with
     this branch:
 
 https://github.com/uBLAS/ublas/tree/ublas_sandbox0002_github_playground
 
     (or any playground branch)
 
     
 
     * If more than one developers work on the same branch it
 is
     essential to synchronize their efforts so that there are
 not serious
     merge conflicts.
 
     
 
     * If you get accommodated with git and github  you may
 want to
     deviate from the process a bit as you may see fit.
 
     
 
     * Other people may have suggestions or tips if they are
 doing
     something differently.
 
     
 
     Please let me know if you have any issues.
 
     
 
     -Nasos
 
     
 
     
 
     
 
     On 02/29/2016 10:42 AM,
 palik imre
       wrote:
 
     
     
       
         I asked about the development process
 before, and
           haven't received any response ...
         
 
         
         Does
 this
           means, that you do the pull request thing, instead
 of posting
           patches to mailing lists?
         
 
         
         If yes,
           then I'll create the github branch,next
 weekend.
         
 
         
         Cheers,
         
 
         
         Imre
 
         
         
         
 
           
 
         
         
           
             
                On
 Monday, 29
                   February 2016, 16:21, Nasos Iliopoulos
                   <nasos_i_at_[hidden]>
 wrote:
 
                 
               
 
               
 
               Just
 checking,
 
                 I may have lost reference but I don't
 see any pull
                 requests on any
 
                 branch on ublas/ublas. Do you want me to
 create one  so
                 it is easier for
 
                 you guys?
 
                 
 
                 -Nasos
 
                 
 
                 
 
                 On 02/29/2016 02:46 AM, Imre Palik wrote:
 
> This patch increases the range of BLAS
 level 3
                 benchmarks for dense
 
> matrices up to 1000*1000 matrices.
 
>
 
> Signed-off-by: Imre Palik <imre_palik_at_[hidden]>
 
> ---
 
>  benchmarks/bench1/bench1.cpp  | 14
 ++++++++++----
 
>  benchmarks/bench1/bench13.cpp |  8
 ++++++++
 
>  benchmarks/bench3/bench3.cpp  | 14
 ++++++++++----
 
>  benchmarks/bench3/bench33.cpp |  8
 ++++++++
 
>  4 files changed, 36 insertions(+), 8
 deletions(-)
 
>
 
> diff --git
 a/benchmarks/bench1/bench1.cpp
                 b/benchmarks/bench1/bench1.cpp
 
> index 87478e1..300eafa 100644
 
> --- a/benchmarks/bench1/bench1.cpp
 
> +++ b/benchmarks/bench1/bench1.cpp
 
> @@ -76,22 +76,28 @@ void do_bench
 (std::string
                 type_string, int scale)
 
>      header (type_string + ",
 3");
 
>      bench_1<scalar, 3> ()
 (1000000 * scale);
 
>      bench_2<scalar, 3> ()
 (300000 * scale);
 
> -    bench_3<scalar, 3> ()
 (100000 * scale);
 
> +    bench_3<scalar, 3> ()
 (3000000 * scale);
 
> 
 
>      header (type_string + ",
 10");
 
>      bench_1<scalar, 10> ()
 (300000 * scale);
 
>      bench_2<scalar, 10> ()
 (30000 * scale);
 
> -    bench_3<scalar, 10> ()
 (3000 * scale);
 
> +    bench_3<scalar, 10> ()
 (100000 * scale);
 
> 
 
>      header (type_string + ",
 30");
 
>      bench_1<scalar, 30> ()
 (100000 * scale);
 
>      bench_2<scalar, 30> ()
 (3000 * scale);
 
> -    bench_3<scalar, 30> ()
 (100 * scale);
 
> +    bench_3<scalar, 30> ()
 (30000 * scale);
 
> 
 
>      header (type_string + ",
 100");
 
>      bench_1<scalar, 100> ()
 (30000 * scale);
 
>      bench_2<scalar, 100> ()
 (300 * scale);
 
> -    bench_3<scalar, 100> () (3
 * scale);
 
> +    bench_3<scalar, 100> ()
 (1000 * scale);
 
> +
 
> +    header (type_string + ",
 300");
 
> +    bench_3<scalar, 300> ()
 (30 * scale);
 
> +
 
> +    header (type_string + ",
 1000");
 
> +    bench_3<scalar, 1000> ()
 (1 * scale);
 
>  }
 
> 
 
>  int main (int argc, char *argv [])
 {
 
> diff --git
 a/benchmarks/bench1/bench13.cpp
                 b/benchmarks/bench1/bench13.cpp
 
> index fadb0b6..2378d46 100644
 
> --- a/benchmarks/bench1/bench13.cpp
 
> +++ b/benchmarks/bench1/bench13.cpp
 
> @@ -166,6 +166,8 @@ template struct
                 bench_3<float, 3>;
 
>  template struct bench_3<float,
 10>;
 
>  template struct bench_3<float,
 30>;
 
>  template struct bench_3<float,
 100>;
 
> +template struct bench_3<float,
 300>;
 
> +template struct bench_3<float,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_DOUBLE
 
> @@ -173,6 +175,8 @@ template struct
                 bench_3<double, 3>;
 
>  template struct bench_3<double,
 10>;
 
>  template struct bench_3<double,
 30>;
 
>  template struct bench_3<double,
 100>;
 
> +template struct bench_3<double,
 300>;
 
> +template struct bench_3<double,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_STD_COMPLEX
 
> @@ -181,6 +185,8 @@ template struct
                 bench_3<std::complex<float>,
 3>;
 
>  template struct
                 bench_3<std::complex<float>,
 10>;
 
>  template struct
                 bench_3<std::complex<float>,
 30>;
 
>  template struct
                 bench_3<std::complex<float>,
 100>;
 
> +template struct
                 bench_3<std::complex<float>,
 300>;
 
> +template struct
                 bench_3<std::complex<float>,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_DOUBLE
 
> @@ -188,5 +194,7 @@ template struct
                 bench_3<std::complex<double>,
 3>;
 
>  template struct
                 bench_3<std::complex<double>,
 10>;
 
>  template struct
                 bench_3<std::complex<double>,
 30>;
 
>  template struct
                 bench_3<std::complex<double>,
 100>;
 
> +template struct
                 bench_3<std::complex<double>,
 300>;
 
> +template struct
                 bench_3<std::complex<double>,
 1000>;
 
>  #endif
 
>  #endif
 
> diff --git
 a/benchmarks/bench3/bench3.cpp
                 b/benchmarks/bench3/bench3.cpp
 
> index 390d226..72a3db5 100644
 
> --- a/benchmarks/bench3/bench3.cpp
 
> +++ b/benchmarks/bench3/bench3.cpp
 
> @@ -76,22 +76,28 @@ void do_bench
 (std::string
                 type_string, int scale)
 
>      header (type_string + ",
 3");
 
>      bench_1<scalar, 3> ()
 (1000000 * scale);
 
>      bench_2<scalar, 3> ()
 (300000 * scale);
 
> -    bench_3<scalar, 3> ()
 (100000 * scale);
 
> +    bench_3<scalar, 3> ()
 (3000000 * scale);
 
> 
 
>      header (type_string + ",
 10");
 
>      bench_1<scalar, 10> ()
 (300000 * scale);
 
>      bench_2<scalar, 10> ()
 (30000 * scale);
 
> -    bench_3<scalar, 10> ()
 (3000 * scale);
 
> +    bench_3<scalar, 10> ()
 (100000 * scale);
 
> 
 
>      header (type_string + ",
 30");
 
>      bench_1<scalar, 30> ()
 (100000 * scale);
 
>      bench_2<scalar, 30> ()
 (3000 * scale);
 
> -    bench_3<scalar, 30> ()
 (100 * scale);
 
> +    bench_3<scalar, 30> ()
 (30000 * scale);
 
> 
 
>      header (type_string + ",
 100");
 
>      bench_1<scalar, 100> ()
 (30000 * scale);
 
>      bench_2<scalar, 100> ()
 (300 * scale);
 
> -    bench_3<scalar, 100> () (3
 * scale);
 
> +    bench_3<scalar, 100> ()
 (1000 * scale);
 
> +
 
> +    header (type_string + ",
 300");
 
> +    bench_3<scalar, 300> ()
 (30 * scale);
 
> +
 
> +    header (type_string + ",
 1000");
 
> +    bench_3<scalar, 1000> ()
 (1 * scale);
 
>  }
 
> 
 
>  int main (int argc, char *argv [])
 {
 
> diff --git
 a/benchmarks/bench3/bench33.cpp
                 b/benchmarks/bench3/bench33.cpp
 
> index 9b8e107..7eeec07 100644
 
> --- a/benchmarks/bench3/bench33.cpp
 
> +++ b/benchmarks/bench3/bench33.cpp
 
> @@ -172,6 +172,8 @@ template struct
                 bench_3<float, 3>;
 
>  template struct bench_3<float,
 10>;
 
>  template struct bench_3<float,
 30>;
 
>  template struct bench_3<float,
 100>;
 
> +template struct bench_3<float,
 300>;
 
> +template struct bench_3<float,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_DOUBLE
 
> @@ -179,6 +181,8 @@ template struct
                 bench_3<double, 3>;
 
>  template struct bench_3<double,
 10>;
 
>  template struct bench_3<double,
 30>;
 
>  template struct bench_3<double,
 100>;
 
> +template struct bench_3<double,
 300>;
 
> +template struct bench_3<double,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_STD_COMPLEX
 
> @@ -187,6 +191,8 @@ template struct
                 bench_3<std::complex<float>,
 3>;
 
>  template struct
                 bench_3<std::complex<float>,
 10>;
 
>  template struct
                 bench_3<std::complex<float>,
 30>;
 
>  template struct
                 bench_3<std::complex<float>,
 100>;
 
> +template struct
                 bench_3<std::complex<float>,
 300>;
 
> +template struct
                 bench_3<std::complex<float>,
 1000>;
 
>  #endif
 
> 
 
>  #ifdef USE_DOUBLE
 
> @@ -194,5 +200,7 @@ template struct
                 bench_3<std::complex<double>,
 3>;
 
>  template struct
                 bench_3<std::complex<double>,
 10>;
 
>  template struct
                 bench_3<std::complex<double>,
 30>;
 
>  template struct
                 bench_3<std::complex<double>,
 100>;
 
> +template struct
                 bench_3<std::complex<double>,
 300>;
 
> +template struct
                 bench_3<std::complex<double>,
 1000>;
 
>  #endif
 
>  #endif
 
                 
 
                
 _______________________________________________
 
                 ublas mailing list
 
                 ublas_at_[hidden]
 
                 http://lists.boost.org/mailman/listinfo.cgi/ublas
 
                 Sent to: imre_palik_at_[hidden]
                 
 
                 
                 
 
                 
 
               
             
           
         
       
       
 
       
       
 
       _______________________________________________
 ublas mailing list
 ublas_at_[hidden]
 http://lists.boost.org/mailman/listinfo.cgi/ublas
 Sent to: nasos_i_at_[hidden]
     
     
 
   
 -----Inline Attachment Follows-----
 
 _______________________________________________
 ublas mailing list
 ublas_at_[hidden]
 http://lists.boost.org/mailman/listinfo.cgi/ublas
 Sent to: imre_palik_at_[hidden]