Boost logo

Ublas :

Subject: Re: [ublas] [PATCH 3/3] boost::ublas increasing the range of BLAS level 3 benchmarks
From: Nasos Iliopoulos (nasos_i_at_[hidden])
Date: 2016-02-29 11:52:42


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]
> <mailto: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] <mailto:ublas_at_[hidden]>
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: imre_palik_at_[hidden] <mailto:imre_palik_at_[hidden]>
>
>
>
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: nasos_i_at_[hidden]