Re: [GSOC2020][Boost.uBLAS] uBLAS DataFrame feature
Cem Bassoy via ublas <[email protected]> Fri, 20 Mar 2020 15:04:20 +0100
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CADrR+FsykpK0hkR8oTUgiSW-0t39GwKduwr14T3YVxX6sfqsnw@mail.gmail.com> |
--===============1640217161144649542== Content-Type: multipart/alternative; boundary="000000000000b4d8e305a149c345" --000000000000b4d8e305a149c345 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Aniket, I cannot tell you which direction is the best for you. However, I recommend a topic that you are really interested in and that you want to continue even after GSOC. Clang and GCC still do not officially support Ranges - so I would leave that out (https://en.cppreference.com/w/cpp/compiler_support). Right now we should postpone the discussion of concepts for the tensor type= . Best, CB Am Fr., 20. M=C3=A4rz 2020 um 13:54 Uhr schrieb Aniket Chowdhury via ublas = < [email protected]>: > Hey Cem. > I went through the draft proposal and had some questions. > > Which direction do you think I should pursue? I am more inclined towards > refactoring the enitre data_frame because if I believe correctly uBlas is > moving towards C++20. Should I stick with ETs or can I use Ranges and > Concepts? > > I was thinking to stick to standard C++20 Ranges only instead of Eric > Neibler's One Ranges v3 library considering std to be more relevant. > > > > On Wed, 18 Mar 2020, 23:49 Aniket Chowdhury, <[email protected]= m> > wrote: > >> Hey Cem. >> Thanks for replying. Will do the needful and get back to you. >> I understand that the proposal could do with a few more code examples. >> Thanks. >> >> On Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via ublas < >> [email protected]> wrote: >> >>> Hi Aniket, >>> >>> thanks for considering Boost/uBLAS. Your potential mentor is David. If >>> he does not respond, just follow the instructions on the GSoC page and >>> upload your proposal. >>> >>> Please note that we appreciate concrete (with code samples), realistic >>> (regarding time) and referring (to previous or pull requests) proposals= . >>> Concrete examples inside the proposal will help us to understand intent= ion >>> and it will demonstrate your experience and expertise. >>> >> I am pretty cobfident with the timeline that I have provided with. Again= , > regarding code examples should I add them for both C++20 and/or ET? > >> >>> Additionally, I advise to read >>> >>> - previous gsoc discussions on this or on the general boost mailing >>> list >>> - former gsoc student projects and proposals >>> >>> to have a good feeling of the requirements. >>> >>> Best, >>> Cem >>> >>> >>> >>> Am Mo., 16. M=C3=A4rz 2020 um 23:15 Uhr schrieb Aniket Chowdhury via ub= las < >>> [email protected]>: >>> >>>> Hi, >>>> My name is Aniket Chowdhury >>>> <https://github.com/aniket-chowdhury?tab=3Drepositories> and I am >>>> second-year undergraduate student. >>>> >>>> I wish to implement the DataFrame library for Boost. I have made the >>>> project proposal and am attaching the same. >>>> As, this project is an expansion of the previous project >>>> <https://github.com/BoostGSoC19/data_frame> there are a few directions >>>> that I would like to work in whichever adds more to the project. >>>> >>>> 1. We could be to keep the existing code base as it is and implement >>>> new features on top of it. >>>> 2. We could try to restructure the code into *Modules*(C++20 feature) >>>> and then implement the features. >>>> 3. Or, we could restructure the code without ET but rather using *C++2= 0 >>>> One Ranges*. This makes more sense to me as I believe that uBlas is >>>> being ported to C++20. >>>> >>>> The DataFrame would include the following features: >>>> 1. All the features already present(union, combine, join). >>>> 2. Read/write from *DataFrame using JSON*(boost::property_tree to >>>> DataFrame) >>>> 3. Operator support for addition, subtraction, multiplication, >>>> division, modulo and power, etc as well as support for comparison >>>> operators. >>>> 4. Functions to perform apply, apply_element_wise, aggregate, >>>> transform and expand on a given DataFrame. >>>> 5. Data analysis tools for standard deviation, variance, mean, etc. >>>> 6. Re-indexing methods like replace, duplicate, filter, etc. >>>> 7. Reshaping methods for sorting, append, pivot, etc. >>>> >>> Also, could you tell me if I am on the right track regarding the free > form functions that Boost is looking for? > >> >>>> *Full Details* of the same can be found in the *Project Proposal*. >>>> >>>> I have been in contact with David Bellot for the past week regarding >>>> GSoC. I have completed the first draft of the competency check and sen= t the >>>> same to him. I would love to work I am requesting him to be assigned = as a >>>> mentor for the same. >>>> *PFA: *The Project Proposal >>>> <https://docs.google.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERKXG= VX6GJSSdBo/edit?usp=3Dsharing>(linked >>>> in case the attachment fails) >>>> >>> Here was the old proposal. > >> >>>> This is an official application for the GSoC' 20. I am open to any and >>>> all suggestions. >>>> >>>> Aniket Chowdhury >>>> _______________________________________________ >>>> ublas mailing list >>>> [email protected] >>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>> Sent to: [email protected] >>>> >>> _______________________________________________ >>> ublas mailing list >>> [email protected] >>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>> Sent to: [email protected] >>> >> _______________________________________________ > ublas mailing list > [email protected] > https://lists.boost.org/mailman/listinfo.cgi/ublas > Sent to: [email protected] > --000000000000b4d8e305a149c345 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hello Aniket,</div><div><br></div><div>I cannot tell = you which direction is the best for you. However, I recommend a topic that = you are really interested in and that you want to continue even after GSOC.= <br></div><div><br></div><div>Clang and GCC still do not officially suppor= t Ranges - so I would leave that out (<a href=3D"https://en.cppreference.co= m/w/cpp/compiler_support">https://en.cppreference.com/w/cpp/compiler_suppor= t</a>).<br></div><div>Right now we should postpone the discussion of concep= ts for the tensor type.<br></div><div><br></div><div>Best,</div><div>CB<br>= </div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">= Am Fr., 20. M=C3=A4rz 2020 um 13:54=C2=A0Uhr schrieb Aniket Chowdhury via u= blas <<a href=3D"mailto:[email protected]" target=3D"_blank">ublas@l= ists.boost.org</a>>:<br></div><blockquote class=3D"gmail_quote" style=3D= "margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le= ft:1ex"><div dir=3D"auto">Hey Cem.=C2=A0<div dir=3D"auto">I went through th= e draft proposal and had some questions.<div dir=3D"auto"><br></div><div di= r=3D"auto">Which direction do you think I should pursue? I am more inclined= towards refactoring the enitre data_frame because if I believe correctly u= Blas is moving towards C++20. Should I stick with ETs or can I use Ranges a= nd Concepts?=C2=A0</div><div dir=3D"auto"><br></div><div dir=3D"auto">I was= thinking to stick to standard C++20 Ranges only instead of Eric Neibler= 9;s One Ranges v3 library considering std to be more relevant.=C2=A0</div><= div dir=3D"auto"><br></div></div><br><br><div class=3D"gmail_quote" dir=3D"= auto"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, 18 Mar 2020, 23:49 Anik= et Chowdhury, <<a href=3D"mailto:[email protected]" target=3D= "_blank">[email protected]</a>> wrote:<br></div><blockquote c= lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli= d rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hey Cem.<div>Thanks f= or replying. Will do the needful and get back to you.=C2=A0</div><div>I und= erstand that the proposal could do with a few more code examples.=C2=A0</di= v><div>Thanks.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" c= lass=3D"gmail_attr">On Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via ublas &l= t;<a href=3D"mailto:[email protected]" rel=3D"noreferrer" target=3D"_bl= ank">[email protected]</a>> wrote:<br></div><blockquote class=3D"gma= il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2= 04,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi Aniket,</div><div><br></= div><div>thanks for considering Boost/uBLAS. Your potential mentor is David= . If he does not respond, just follow the instructions on the GSoC page and= upload your proposal.</div><div><br></div><div>Please note that we appreci= ate concrete (with code samples), realistic (regarding time) and referring = (to previous or pull requests) proposals. Concrete examples inside the prop= osal will help us to understand intention and it will demonstrate your expe= rience and expertise. <br></div></div></blockquote></div></blockquote></div= ><div dir=3D"auto">I am pretty cobfident with the timeline that I have prov= ided with. Again, regarding code examples should I add them for both C++20 = and/or ET?</div><div class=3D"gmail_quote" dir=3D"auto"><blockquote class= =3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg= b(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blockquote cla= ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid = rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div></div><div><br></d= iv><div>Additionally, I advise to read </div><div><ul><li>previous gsoc dis= cussions on this or on the general boost mailing list</li><li>former gsoc s= tudent projects and proposals</li></ul><div>to have a good feeling of the r= equirements.<br></div></div><div><br></div><div>Best,</div><div>Cem<br></di= v><div><br></div><div><br></div></div><br><div class=3D"gmail_quote"><div d= ir=3D"ltr" class=3D"gmail_attr">Am Mo., 16. M=C3=A4rz 2020 um 23:15=C2=A0Uh= r schrieb Aniket Chowdhury via ublas <<a href=3D"mailto:[email protected]= t.org" rel=3D"noreferrer" target=3D"_blank">[email protected]</a>>:<= br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e= x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"= >Hi,=C2=A0<div>My name is=C2=A0<a href=3D"https://github.com/aniket-chowdhu= ry?tab=3Drepositories" rel=3D"noreferrer" target=3D"_blank">Aniket Chowdhur= y</a>=C2=A0and I am second-year undergraduate student.</div><div><br></div>= <div>I wish to implement the DataFrame library for Boost. I have made the p= roject proposal and am attaching the same.</div><div><div><div><div></div><= /div></div><div></div></div><div>As, this project is an expansion of the=C2= =A0<a href=3D"https://github.com/BoostGSoC19/data_frame" rel=3D"noreferrer"= target=3D"_blank">previous project</a>=C2=A0there are a few directions tha= t I would like to work in whichever adds more to the project.</div><div><br= ></div><div>1. We could be to keep the existing code base as it is and impl= ement new features on top of it.</div><div>2. We could try to restructure t= he code into=C2=A0<b>Modules</b>(C++20 feature) and then implement the feat= ures.</div><div>3. Or, we could restructure the code without=C2=A0ET but ra= ther using=C2=A0<b>C++20 One Ranges</b>. This makes more sense to me as I b= elieve that uBlas is being ported to C++20.</div><div><br></div><div>The Da= taFrame would include the following features:</div><div>1. All the features= already present(union, combine, join).</div><div>2. Read/write from=C2=A0<= b>DataFrame using JSON</b>(<span style=3D"background-color:transparent;colo= r:rgb(36,39,41);font-family:"Courier New";white-space:pre-wrap">b= oost::property_tree to DataFrame</span>)</div><div>3. Operator support for= =C2=A0<span style=3D"background-color:transparent;color:rgb(0,0,0);font-fam= ily:"Proxima Nova",sans-serif;font-weight:700;white-space:pre-wra= p">addition, subtraction, multiplication, division, modulo and power, etc <= /span><span style=3D"background-color:transparent;color:rgb(0,0,0);font-fam= ily:"Proxima Nova",sans-serif;white-space:pre-wrap">as well as su= pport for comparison operators.</span></div><div>4. Functions to perform<sp= an style=3D"background-color:transparent;font-variant-numeric:normal;font-v= ariant-east-asian:normal;font-family:"Proxima Nova",sans-serif;co= lor:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> </span><span = style=3D"background-color:transparent;font-variant-numeric:normal;font-vari= ant-east-asian:normal;font-family:"Proxima Nova",sans-serif;color= :rgb(0,0,0);font-weight:700;vertical-align:baseline;white-space:pre-wrap">a= pply, apply_element_wise, aggregate, transform and expand</span><span style= =3D"background-color:transparent;font-variant-numeric:normal;font-variant-e= ast-asian:normal;font-family:"Proxima Nova",sans-serif;color:rgb(= 0,0,0);vertical-align:baseline;white-space:pre-wrap"> on a given DataFrame.= </span><br></div>5. Data analysis tools for=C2=A0<span id=3D"m_-73767629861= 48225264gmail-m_-1255839329218212103m_-7149760812391761650gmail-m_-80940123= 15361310134gmail-m_1372898159282983835gmail-m_2539347862788583833gmail-m_-6= 3067745495130108gmail-docs-internal-guid-7ab2eedf-7fff-5324-29fc-108f6de832= ec"><span style=3D"font-family:"Proxima Nova",sans-serif;color:rg= b(0,0,0);background-color:transparent;font-weight:700;font-variant-numeric:= normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:p= re-wrap">standard deviation, variance, mean, etc.</span></span><div>6. Re-i= ndexing methods like=C2=A0<span id=3D"m_-7376762986148225264gmail-m_-125583= 9329218212103m_-7149760812391761650gmail-m_-8094012315361310134gmail-m_1372= 898159282983835gmail-m_2539347862788583833gmail-m_-63067745495130108gmail-d= ocs-internal-guid-97de9fde-7fff-ff47-7f83-0a08903e6481"><span style=3D"font= -family:"Proxima Nova",sans-serif;color:rgb(0,0,0);background-col= or:transparent;font-weight:700;font-variant-numeric:normal;font-variant-eas= t-asian:normal;vertical-align:baseline;white-space:pre-wrap">replace, dupli= cate, filter, etc.</span></span></div><div>7. Reshaping methods for=C2=A0<s= pan id=3D"m_-7376762986148225264gmail-m_-1255839329218212103m_-714976081239= 1761650gmail-m_-8094012315361310134gmail-m_1372898159282983835gmail-m_25393= 47862788583833gmail-m_-63067745495130108gmail-docs-internal-guid-ed39d162-7= fff-e164-cd1e-4f0db510492b"><span style=3D"font-family:"Proxima Nova&q= uot;,sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:7= 00;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-alig= n:baseline;white-space:pre-wrap">sorting, append, pivot, etc.</span></span>= </div></div></blockquote></div></blockquote></div></blockquote></div><div d= ir=3D"auto"><span style=3D"font-family:sans-serif">Also, could you tell me = if I am on the right track regarding the free form functions that Boost is = looking for?</span><br></div><div class=3D"gmail_quote" dir=3D"auto"><block= quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px solid rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blo= ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left= :1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><b= lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le= ft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div><span= style=3D"font-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);= background-color:transparent;font-weight:700;font-variant-numeric:normal;fo= nt-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">= </span></div><div><font face=3D"Proxima Nova, sans-serif" color=3D"#000000"= ><span style=3D"white-space:pre-wrap"><br></span></font></div><div><font fa= ce=3D"Proxima Nova, sans-serif" color=3D"#000000"><span style=3D"white-spac= e:pre-wrap"><b>Full Details</b> of the same can be found in the <b>Project = Proposal</b>.<b><br></b></span></font><div><div><br></div><div>I have been = in contact with David Bellot for the past week regarding GSoC. I have compl= eted the first draft of the competency check and sent the same to him. I wo= uld love to work=C2=A0 I am requesting him to be assigned as a mentor for t= he same.</div></div></div><div><div><b>PFA:=C2=A0</b><a href=3D"https://doc= s.google.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERKXGVX6GJSSdBo/edit?u= sp=3Dsharing" style=3D"font-weight:bold" rel=3D"noreferrer" target=3D"_blan= k">The Project Proposal</a>(linked in case the attachment fails)<br></div><= /div></div></blockquote></div></blockquote></div></blockquote></div><div di= r=3D"auto">Here was the old proposal.=C2=A0</div><div class=3D"gmail_quote"= dir=3D"auto"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px= 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class= =3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px = 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div cla= ss=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p= x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div d= ir=3D"ltr"><div><div></div><div><br></div><div>This is an official applicat= ion for the GSoC' 20. I am open to any and all suggestions.=C2=A0</div>= <font color=3D"#888888"><div><br></div></font></div><font color=3D"#888888"= ><div>Aniket Chowdhury</div></font></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer" target=3D"_blan= k">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer" target= =3D"_blank">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer" target=3D"_blan= k">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer"= target=3D"_blank">[email protected]</a><br> </blockquote></div> </blockquote></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]= t.org</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer" target=3D"_blank">https://lists.boost.org/mailman/listinfo.cgi/ublas= </a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank">cem.bass= [email protected]</a><br> </blockquote></div></div> --000000000000b4d8e305a149c345-- --===============1640217161144649542== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline