Re: [shogun] Update

2019-08-16 Thread Ahmed Essam
Hi Fernando,

I'm not sure which package you mean. The problem with sycl is lack of
complete implementations of the standard. It seems that the most popular
one is proprietary made by CodePlay. Here is the link
https://www.codeplay.com/products/computesuite/computecpp. They offer
community edition version, but still this won't be suitable for us. The
open source alternative is triSYCL https://github.com/triSYCL/triSYCL.
Eigen supports both ComputeCpp sycl, and triSYCL, here is a relevant pull
request
https://bitbucket.org/eigen/eigen/pull-requests/318/improved-support-for-opencl/.
However, I didn't build Eigen against triSYCL yet, so currently I don't
know how much of that works.

Thanks,
Ahmed Essam.

On Fri, Aug 16, 2019 at 11:23 AM Fernando J. Iglesias García <
fernando.igles...@shogun-toolbox.org> wrote:

> Hi Ahmed,
>
> Thanks a lot for the update. The findings about enabling the R interface
> are valuable.
> Hope you had fun and learned something cool about sycl 
>
> Adding some redundancy to gsoc's admin e-mails, feel free to send us the
> url to this work package they mention whenever you like. I think all these
> investigations you have been doing (such as this one about R, the function
> maps to make the developer's life easier, etc.) should be part of it. Of
> course, on top of all the other things you have been busy with during the
> project. Investigation results are very valuable as they can become the
> origin of entrance issues for new developers, new features, and even
> upcoming gsoc projects!
>
> Cheers,
> Fernando.
>
> On Fri, 16 Aug 2019 at 08:26, Ahmed Essam  wrote:
>
>> Hi all,
>>
>> Just a quick update. I tried reactivating the R interface, and almost no
>> test have passed. Here are some of the problems that I encountered:
>>
>> 1. There are no enums in R, so they're mapped to strings. This doesn't
>> work when the argument is int (specifically  machine_int_t) instead of the
>> enum, as in the factories.
>>
>> 2. The typemaps are messed up, specially with overloaded functions as
>> "put". For example, using "put" with a value for any number maps to
>> SGVector instead. I believe this comes from the fact that the type of an R
>> vector is the same as the type of its primitive.
>>
>> 3. After disabling SGVector typemap, the typemaps are still messed up.
>> For example, calling "put" with a floating point number sets the value to
>> an integer instead.
>>
>> 4. By just enabling the R interface, and when testing on the CI, there is
>> a problem with pathing to the library's location:
>> Error in library(shogun) : there is no package called 'shogun'
>> https://dev.azure.com/theartfulae/shogun/_build/results?buildId=324
>>
>> I believe that all these problems should be easily fixable.
>>
>> I also looked into sycl with eigen (heard some talks about sycl, and
>> played with toy examples.) I don't think there is enough time to produce
>> results about its potential for linalg.
>>
>> Finally, tomorrow, I will send a draft for the final blog post.
>>
>> Thanks,
>> Ahmed Essam.
>>
>


Re: [shogun] Update

2019-08-16 Thread Fernando J . Iglesias García
Hi Ahmed,

Thanks a lot for the update. The findings about enabling the R interface
are valuable.
Hope you had fun and learned something cool about sycl 

Adding some redundancy to gsoc's admin e-mails, feel free to send us the
url to this work package they mention whenever you like. I think all these
investigations you have been doing (such as this one about R, the function
maps to make the developer's life easier, etc.) should be part of it. Of
course, on top of all the other things you have been busy with during the
project. Investigation results are very valuable as they can become the
origin of entrance issues for new developers, new features, and even
upcoming gsoc projects!

Cheers,
Fernando.

On Fri, 16 Aug 2019 at 08:26, Ahmed Essam  wrote:

> Hi all,
>
> Just a quick update. I tried reactivating the R interface, and almost no
> test have passed. Here are some of the problems that I encountered:
>
> 1. There are no enums in R, so they're mapped to strings. This doesn't
> work when the argument is int (specifically  machine_int_t) instead of the
> enum, as in the factories.
>
> 2. The typemaps are messed up, specially with overloaded functions as
> "put". For example, using "put" with a value for any number maps to
> SGVector instead. I believe this comes from the fact that the type of an R
> vector is the same as the type of its primitive.
>
> 3. After disabling SGVector typemap, the typemaps are still messed up. For
> example, calling "put" with a floating point number sets the value to an
> integer instead.
>
> 4. By just enabling the R interface, and when testing on the CI, there is
> a problem with pathing to the library's location:
> Error in library(shogun) : there is no package called 'shogun'
> https://dev.azure.com/theartfulae/shogun/_build/results?buildId=324
>
> I believe that all these problems should be easily fixable.
>
> I also looked into sycl with eigen (heard some talks about sycl, and
> played with toy examples.) I don't think there is enough time to produce
> results about its potential for linalg.
>
> Finally, tomorrow, I will send a draft for the final blog post.
>
> Thanks,
> Ahmed Essam.
>


[shogun] Update week 3

2018-06-04 Thread Shubham Shukla
This week I worked on:

1. Refactoring the progress bar to a more informative
class_name::method_name format.
2. FeatureBlock Logistic Regression meta example and cookbook.
3. Proper Update of state in each iteration of a perceptron.

Next week we plan to:

1. Complete the progress bar to instantiate from a macro.
2. Complete the pausing unit test.
3. Write on_pause, on_next for Perceptron.

Thanks
Shubham