Shogun Machine Learning - IRC Logs
--- Log opened Sat Mar 05 00:00:23 2016
-!- ebadawy [~ebadawy@] has joined #shogun00:10
-!- HeikoS [] has joined #shogun00:33
-!- mode/#shogun [+o HeikoS] by ChanServ00:33
-!- HeikoS [] has left #shogun []00:59
shogun-buildbotbuild #3580 of deb1 - libshogun is complete: Failure [failed git]  Build details are at  blamelist: EdgeX <>, Tonmoy Saikia <>01:06
shogun-buildbotbuild #3581 of deb1 - libshogun is complete: Failure [failed git]  Build details are at  blamelist: Heiko Strathmann <>, EdgeX <>, Tonmoy Saikia <>01:29
-!- Tanishq [~tanishq@] has quit [Ping timeout: 240 seconds]01:43
-!- bollu [~Adium@] has joined #shogun03:50
-!- bollu [~Adium@] has quit [Client Quit]03:51
shogun-buildbotbuild #1083 of nightly_default is complete: Failure [failed compile]  Build details are at  blamelist: Heiko Strathmann <>, Bj?rn Esser <>, EdgeX <>, Tonmoy Saikia <>, Viktor Gal <>04:17
shogun-buildbotbuild #960 of nightly_all is complete: Failure [failed compile]  Build details are at  blamelist: Heiko Strathmann <>, Bj?rn Esser <>, EdgeX <>, Tonmoy Saikia <>, Viktor Gal <>04:25
-!- lambday [6a33f123@gateway/web/freenode/ip.] has joined #shogun04:50
-!- mode/#shogun [+o lambday] by ChanServ04:50
-!- besser82 [~besser82@fedora/besser82] has joined #shogun05:15
-!- mode/#shogun [+o besser82] by ChanServ05:15
-!- ebadawy [~ebadawy@] has quit [Remote host closed the connection]05:22
-!- aditya123 [uid148851@gateway/web/] has quit [Quit: Connection closed for inactivity]05:39
-!- rjtshrma [6725c94b@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]05:56
-!- red_devil [~rahul__@] has joined #shogun06:46
-!- red_devil is now known as Guest5376006:47
-!- Ameya [0e8b5206@gateway/web/freenode/ip.] has joined #shogun07:03
AmeyaHello! I am Ameya from IIIT Hyderabad, India. I was trying to build shogun but ran into this error.07:03
AmeyaThe cmake settings used by me were - cmake -DPythonModular=ON  ..07:04
AmeyaIt is a simple correction in line 389 in shogun/src/ , changing it from o.write("".join(self.pieces)) -> o.write("".join(self.pieces)).encode('utf-8)07:05
AmeyaHow should I go about reporting it?07:06
@wikingshogun-buildbot: force build --branch=develop 'deb1 - libshogun'07:20
shogun-buildbotbuild forced [ETA 6m41s]07:20
shogun-buildbotI'll give a shout when the build finishes07:20
shogun-buildbotbuild #3582 of deb1 - libshogun is complete: Success [build successful]  Build details are at
@wikingsonney2k: around?07:58
@besser82Ameya, I addressed your change in
@besser82Ameya, in future you should open an issue on Github -->
@wikingbesser82: mornign08:05
@besser82wiking, mornin' ^^08:14
@besser82Ameya, changes for doxy2swig are merged in development branch now08:39
-!- lambday_ [6a338432@gateway/web/freenode/ip.] has joined #shogun08:50
-!- mode/#shogun [+o lambday_] by ChanServ08:50
-!- lambday [6a33f123@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]08:50
shogun-buildbotbuild #2774 of deb3 - modular_interfaces is complete: Failure [failed python modular]  Build details are at  blamelist: Bj?rn Esser <>08:52
shogun-buildbotbuild #743 of deb4 - python3 is complete: Failure [failed python modular]  Build details are at  blamelist: Bj?rn Esser <>08:56
AmeyaThank you Mr. Esser!08:56
@besser82Ameya, you're welcome ^^08:59
@wikingbesser82: that one failed :)09:07
@besser82wiking, cannot be my fault...  :P09:07
@wikingi dunno who put some none-ascii stuff09:07
@wikinginto the fucking thing...09:08
@wikingand who let it to be merged09:08
Ameyaoh yes09:12
AmeyaMy bad09:13
@besser82Ameya, oops... will fix quickly09:19
shogun-buildbotbuild #457 of trusty - libshogun - viennacl is complete: Failure [failed test]  Build details are at  blamelist: Bj?rn Esser <>09:19
@besser82Ameya, wiking: fix is pushed  :P09:23
AmeyaMr. Essar, did you make the pr?09:28
AmeyaI just made one fixing the issue. It was declined09:28
AmeyaIs this okay?09:31
AmeyaOh, wait, I see you fixed it in Was hoping I could get a PR in myself :)09:33
@besser82Ameya, next time ^^09:35
shogun-buildbotbuild #3585 of deb1 - libshogun is complete: Failure [failed test]  Build details are at  blamelist: Bj?rn Esser <>09:45
shogun-buildbotbuild #336 of trusty - libshogun is complete: Failure [failed test]  Build details are at  blamelist: Bj?rn Esser <>09:51
shogun-buildbotbuild #458 of trusty - libshogun - viennacl is complete: Success [build successful]  Build details are at
-!- Guest53760 is now known as rahul09:58
-!- rahul is now known as Guest450309:58
-!- Guest4503 [~rahul__@] has quit [Quit: Leaving]10:01
-!- cache-nez [~cache-nez@] has joined #shogun10:37
-!- lambday_ [6a338432@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]11:00
-!- jack [a4a41f06@gateway/web/freenode/ip.] has joined #shogun11:15
-!- jack is now known as Guest2234411:15
Guest22344I have some problem  with loading large data set(100k) to ridgeregression.sg11:16
Guest22344so I just checked with loading just 5K data set and it works, but if I go beyond that it gets loading loading and loading11:18
Guest22344and there is no result till 2 days11:18
Guest22344is there some limitation with loading data sets?11:19
AmeyaHello again! I wanted to run the tests and fix the tests to all run <1second . But, as specified by Heiko in #3005, "run make test with Python modular enabled to get a list of timings", I tried running that command but the output is: make: *** No rule to make target `test'.  Stop.11:31
@besser82Ameya, run `ctest .` in the build-dir  ;)11:36
AmeyaOh! I tried that. Got this output - 'Test project /home/ameya/shogun/build No tests were found!!!'11:42
@besser82Ameya, Then you need to rebuild / reconfigure using cmake -DENABLE_TESTING=ON11:42
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 244 seconds]11:49
-!- Tanishq [~tanishq@] has joined #shogun12:24
-!- lambday [6a338432@gateway/web/freenode/ip.] has joined #shogun12:31
-!- mode/#shogun [+o lambday] by ChanServ12:31
-!- cache-nez [~cache-nez@] has joined #shogun12:54
-!- lzc [~lzc@] has joined #shogun12:56
-!- HeikoS [] has joined #shogun13:00
-!- mode/#shogun [+o HeikoS] by ChanServ13:00
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 240 seconds]13:02
-!- Guest22344 [a4a41f06@gateway/web/freenode/ip.] has quit [Quit: Page closed]13:04
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 240 seconds]13:27
@wikingHeikoS: ping13:51
@HeikoSwiking: pong13:51
@wikingok so last questions13:52
@wikingi've fixed most of the stuff in that branch13:52
@wikingnow about the place to store13:52
-!- wanderer_ [67157d4e@gateway/web/freenode/ip.] has joined #shogun13:52
@wikinga) do we really want to have the cookbook updated per commit? wouldn't be it enough as part of a nightly13:52
@wikingb) shouldn't we store the cookbooks the same place as the website?13:53
@HeikoSa) yes nightly is fine for develop13:53
@HeikoSb) yes I agree13:53
@HeikoSc) for PR, it would be good per commit, dont you think?13:53
@wikingyeah PR is fine13:53
@HeikoSehm per PR13:53
@wikingi can do that13:53
@wikingi was just wondeirng about the 'latest'13:53
@wikingthat should be enough per nightly13:53
wanderer_wiking: i tried compiling the latest version with g++-4.9, but it always gives an error here13:53
@wikingjust as part of doxygen update13:53
@HeikoSwiking: yeah sure, just like the notebooks/doxygen13:53
@HeikoStotally fine13:54
@wikingwanderer_: use pastebin.com13:54
@wikingHeikoS: ok lemme do those changes in .travis.yaml13:54
@HeikoSwiking: sweet13:54
wanderer_here -
@HeikoSwiking: btw I have no idea why the c# examples wont be compiled anymore, it used to work with the *same* CMakeLists.txt in the examples/meta/csharp dir13:55
@wikinggood question13:55
@wikingdunno yet13:55
@wikingbut i wanna work on io stuff now13:56
@wikingso i fix this PR thing13:56
@wikingbut then it's your stuff13:56
@HeikoSwiking: ok13:56
wanderer_and for your reference, my makefile -
@HeikoSwiking: great, thanks!13:56
wanderer_one generated by ccmake13:56
@wikingyeah well nobody cares about that13:56
@wikingdunno never seen this error before13:57
@wikingand certainly we are compiling shogun with 4.913:57
@HeikoSwanderer_: I think this might be compiler version13:57
wanderer_my g++ --version shows 4.913:57
@HeikoSwiking: good stuff, looking forward to this13:57
@HeikoSwiking: btw do you have an opinion how to test all the meta example outputs?13:58
@HeikoSwiking: I did not really like the script13:58
@HeikoScould do similar, or something different13:58
@wikingHeikoS: ?14:00
@wikingwhat do you mean how to test the output?14:00
@HeikoSwiking: the test build runs all meta examples14:01
@HeikoSmeta examples store all numerical variables into a single file14:01
@HeikoSfrom each language14:01
lisitsynok I woke up!14:01
@wikingHeikoS: but why would you do that? :)14:01
@HeikoSnow want to compare that the example cpp/java/py all produce the same file, that is the same as a reference file14:01
@wikingah i see14:01
@HeikoSwiking: a) implicitly test typemaps b) integration testing14:02
@wikingand these are examples14:02
@wikinggood question14:02
lisitsynwhats the status of this thing14:02
@wikinglemme see first where the hell should we store those PR cookbooks14:02
@HeikoSlisitsyn: how to compare the example output14:02
@HeikoSwiking: ok14:02
@wikingsomebody fix all the fucking broken stuff14:02
@wikingthat has been introduced in the last 24 hours14:02
@wikingshogun-buildbot: force build --branch=develop 'deb1 - libshogun'14:03
shogun-buildbotbuild forced [ETA 3m33s]14:03
shogun-buildbotI'll give a shout when the build finishes14:03
@wikingplz be more vigilant with PRs14:03
@HeikoSwiking: yeah ok, will do, it is hard as there are so many14:03
@wikinglevel of codes lately is not the high standard :D14:03
@HeikoSwiking: you have to shoot people who merge things early ;)14:04
@HeikoSbut I agree14:04
shogun-buildbotbuild #3586 of deb1 - libshogun is complete: Success [build successful]  Build details are at
@wikingshogun-buildbot: force build --branch=develop 'trusty - libshogun'14:05
shogun-buildbotbuild forced [ETA 14m16s]14:05
shogun-buildbotI'll give a shout when the build finishes14:05
@wikingshogun-buildbot: force build --branch=develop 'deb3 - modular_interfaces'14:05
shogun-buildbotbuild forced [ETA 33m08s]14:05
shogun-buildbotI'll give a shout when the build finishes14:05
@wiking[14:06][buildbot@7nn:~/masters/shogun/public_html]$ du -sh14:06
@wikingi better clean up some memcheck static analysis files14:06
@wikingor better yet, create a crontab there14:06
wanderer_umm .... any thoughts?14:07
@wikingHeikoS: ok so as far as i remember my BSD licensing agreement got flushed from static folder14:08
@wikingonce the website is updated14:08
@HeikoSwiking: pitty14:08
@HeikoSwiking: but we decided to do it anyways14:08
@HeikoSgunnar overrode all his employees ;)14:08
@wikingyeah yeah14:09
@HeikoSonly the alglib stuff is problematic as it is gpl14:09
@HeikoSthe rest shoul dbe ok14:09
@wikingbut the question is14:09
@wikingwhere should i place14:09
@wikingthe PRed cookbooks14:09
@HeikoSwe announce and give ppl a chance to tell us if they dont agree14:09
@wikingon the website14:09
@HeikoSdont know14:09
@wikingbecause if i put in the static dir14:09
@wikingit'll be flushed14:10
@wikingif somebody updates the website14:10
@wikingor maybe not14:10
@wikingdrwxr-xr-x 5 shogun   shogun   4096 Jul 10  2012 admin14:11
@wikingim certain since then stuff got updated14:11
@HeikoSyes definitely14:11
@wikingok i'll put it there then14:12
@HeikoSwiking: it should be flushed every now and then anyways right?14:12
@HeikoSwhen PR is closed14:12
@HeikoSor something14:12
@wikingHeikoS: cron14:12
@wikingit'll flush it every week once14:12
@HeikoSonce a week?14:12
@wikingyeah something like that14:12
@wikinglisitsyn: can we remove that ssh key from shogun14:12
@wikingthat you've created?14:12
lisitsynyes I already removed it I think14:13
lisitsynI realized it is pretty much useless in this case14:14
@wikingOSX buildbot14:14
@HeikoSosx builbot would be a blast14:15
@HeikoSand a nightly binary ;)14:15
@wikingOS X El Capitan Lite14:15
@HeikoSand cygwin bot would be nice too14:15
@wikingf*ing 25 usd14:15
@HeikoSwhat about gunnars machine?14:15
@HeikoSdid that ever work?14:15
@wikingi get access to a matlab machine14:15
@wikingmmm something weird is with LaRank.* unit tests14:16
@wikingtakes a long time14:16
@wikingit's a quite recent change14:16
@wikingbecause that's why recently unit tests starts to timeout14:17
@HeikoSwiking: what are you doing with this file reader input stuff?14:21
@HeikoSlambday: hey there!14:21
@lambdayHeikoS: hola14:21
* lambday scratches his head14:21
@HeikoSlambday: whats up? :)14:21
@lambdayHeikoS: I needed to discuss some design related things regarding the new flexy-framework..14:22
@lambdayhave been working on it14:22
@lambdayHeikoS: shall I write a mail in detail?14:22
@HeikoSlambday: maybe yes, or on github?14:22
@wikingHeikoS: which file reader?14:22
@lambdayI changed quite a few things in the POC - tried to make it sexier
@wikingbuildsl+ 24091 99.9  0.0 225460 29332 ?        R    14:10  11:19 /home/buildslave/trusty_-_libshogun/build/build/tests/unit/shogun-unit-test --gtest_filter=LaRank.*14:22
@HeikoSwiking:  you mentioned something you were doing, just curious14:22
@wikingHeikoS: io14:23
@wikingHeikoS: refactoring io code14:23
@wikingbecause it's shitty14:23
@HeikoSlambday: ok cool ,send me a brief summary of the changes maybe per mail?14:23
@wikingadding libarchive + hdfs support14:23
@HeikoSwiking: ah yes please!!!14:23
@wikingand fixing the circular buffer14:23
@HeikoSlambday: im preparing a talk for monday, so keep it brief ;) Monday I have more time :)14:23
@HeikoSwiking: and then also csv if possible14:23
@wikingthat's why we have a problem reading cvs 10M+14:23
@lambdayHeikoS: cool.. I am worried about sending a PR.. it is too huge..14:23
@lambdayHeikoS: okay monday would be better14:23
@wikingHeikoS: csv is due to circular buffer bug14:24
@lambdaylet me write the mail before I forget the details14:24
@HeikoSlambday: maybe send me a mail with the main changes14:24
@HeikoSlambday: and then just push to feature branch14:24
@wikingso we fix that csv is fixed14:24
@lambdayHeikoS: alright14:24
@HeikoSand then put tests there, and if all is good we merge this thing14:24
@HeikoSlambday: you are right a PR is too big with this14:24
@HeikoSwiking: great14:24
@HeikoSlambday: haha ,)14:24
@lambdayHeikoS: I also thought, that until all the components get added, I'd keep it under shogun/statistics/experimental... old stuffs would also be there14:25
-!- Saurabh7 [~Saurabh7@] has joined #shogun14:25
@HeikoSlambday: just feature  branch it14:25
@HeikoSnobody is working on this14:25
@HeikoSlambday: curious what you did14:27
@HeikoSlooking forward, let me know when you sent the email14:27
@HeikoSprocastinating here ;)14:27
@lambdaylisitsyn: tribute to a few tricks I learned from you over the years14:27
@lambdayHeikoS: alright14:27
lisitsynlambday: hah14:28
Saurabh7lambday, wahts the difference between and
@lambdaywhen I shogunify it, gotta "some"/"unique" the hell out of it14:28
lisitsynlambday: why don't you call 'impl' as 'self'? ;)14:28
@lambdaylisitsyn: I will14:29
Saurabh7lambday, same thing i asked few days ago :)14:29
lisitsynlambday: just curious what you think14:29
Saurabh7lambday, but i am definetly getting perfromancedifference between those too14:29
@lambdaySaurabh7: can you please benchmark it? it's weird14:30
@lambdaylisitsyn: I like self.. not sure about "some"..14:30
shogun-buildbotbuild #337 of trusty - libshogun is complete: Failure [failed test]  Build details are at
@lambdayI get what you mean.. but "shared" is clearer14:30
lisitsynlambday: good14:30
lisitsynlambday: what I was thinking about 'some'14:30
lisitsynis that 'some' is a good name for something pooled14:30
lisitsynlike give me some available classifier14:31
@lambdaylisitsyn: coming from some other source - I don't own it I won't delete it14:31
@lambdaythat's what you mean14:31
@wikingshogun-buildbot: force build --branch=develop 'trusty - libshogun'14:31
shogun-buildbotbuild forced [ETA 14m16s]14:31
shogun-buildbotI'll give a shout when the build finishes14:31
lisitsynlambday: I am also good with shared14:31
lisitsyndon't mind renaming it in shogun as well14:31
lisitsynShared as a class, and 'shared' function to produce them14:32
@lambdayyeah... like make_shared14:32
@lambdayon the other hand, make_some is weird :D14:32
@lambdayget_some :D14:32
lisitsynI don't think make_shared is short enough14:33
@wikingshogun-buildbot: force build --branch=develop 'deb4 - python3'14:33
shogun-buildbotThe build has been queued, I'll give a shout when it starts14:33
lisitsynI mean if I call shared<SomeClass>(..)14:33
lisitsynit is already clear that I request shared SomeClass14:33
@lambdaytrue that14:34
lisitsynthe only danger if that become a keyword14:34
@lambdayhaha don't worry that won't happen anytime soon14:34
@lambdaythis dot issue is weird! these two pieces of code that Saurabh7 shared is *almost* identical..14:35
@lambdayexcept for the fancy map operator that's used in linalg dot14:35
@lambdayand it's for SG14:35
Saurabh7its dynamic size though14:35
@lambdaySaurabh7: I don't get it.. it basically does the same thing!14:36
Saurabh7in linalg14:36
lisitsynlambday: are they are different performance wise?14:36
@lambdaylisitsyn: as Saurabh7 says, yes!14:36
@lambdaySaurabh7: the other one is also for dynamic size, right?14:36
lisitsynSaurabh7: what's faster?14:36
@lambdayas far as eigen is concerned14:37
Saurabh7onst Eigen::VectorXd> ev1(v1,n)14:37
Saurabh7const Eigen::VectorXd> ev1(v1,n)14:37
Saurabh7this ones faster14:37
@wikingyeah because it's consst14:37
@wikingHeikoS: ok i gotta go out14:37
@wikingi see sun for the first time since i'm europe14:37
lisitsynhmm could be because of that ^14:37
@HeikoSwiking: no sun here :(14:38
@wikingmaybe w ecannot use travis14:38
@wikingi'll have to see14:38
@wikingbut in worst case14:38
@HeikoSwiking: no travis?14:38
@wikingi can put a hook for a buildbot14:38
@HeikoSah ok14:38
@wikingthat'll do the same thing for pr14:38
@wikingyeah i mean if its const14:39
@wikingyou dont need to do any memcpy or anything14:39
Saurabh7lambday,  maybe we can pass vector size and map to constant in linalg14:39
Saurabh7rather than dynamic everytime14:39
@lambdaywiking: map doesn't do any memcpy anyway so far I know14:40
lisitsynit doesn't14:40
lisitsynit is either const somehow14:40
lisitsynor alignment14:40
@wikinglambday: yeah but if it's not const14:41
@wiking static T compute(shogun::SGVector<T> a, shogun::SGVector<T> b)14:41
@wikingthat thing is not a pass by reference14:41
@wikingyou pass there the whole class14:41
@lambdaythat just increases the refcount14:42
@wikingon the stack?14:42
@lambdaydoesn't do memcpy14:42
@wikingok write your code14:42
@wikinggcc -o#14:42
@wikinggcc -O314:42
@wikingand see what it'll do on the stack for you14:42
@wikingobjdump -D14:42
@lambdayyes the object is on the stack but the data ptr is dynamically allocated for SGVector14:42
shogun-buildbotbuild #338 of trusty - libshogun is complete: Success [build successful]  Build details are at
@lambdaywhich just copies the ptr and increases the refcount14:43
@lambdayno memcpy14:43
@lambdaylisitsyn: ^^ can you confirm this?14:43
@wikingand objdump14:43
@wikingyou'll see14:43
lisitsynsgvector could be copied but not the data14:43
@wikingisn't that enough already?14:43
lisitsynno it is very small14:43
lisitsyna few bytes14:44
@lambdayhow a ptr copy and refcount++ be so much overhead?14:44
lisitsyncomparing to dot operation that is a few thousand of multiplications14:44
@wikingSaurabh7: what's the runtime diff?14:44
@lambdaywe never pass SGVector/SGMatrix via ref in shogun..14:45
Saurabh7i am using it in kmeans for k= 100 and it goes from ~30 sec to ~100 s14:46
@lambdaySaurabh7: -O3?14:46
@lambdayokay let me try a quick benchmark14:47
wanderer_can anybody please help me with a build error?14:47
@wikingmmm lol that's quite a diff14:47
lisitsynwanderer_: what's the error?14:48
wanderer_i am using g++-4.9 with -std=c++11 in the cmake14:49
lisitsynwanderer_: what os?14:49
wanderer_linux mint 1714:49
wanderer_its based on ubuntu 14.04 i think14:50
shogun-buildbotbuild #2775 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at
shogun-buildbotbuild forced [ETA 9m28s]14:51
shogun-buildbotI'll give a shout when the build finishes14:51
lisitsynHAVE_CXX11 is not set for you somehow14:51
-!- leagoetz [] has joined #shogun14:52
lisitsynit would call proper setter of real part if HAVE_CXX0X or HAVE_CXX11 was set14:52
lisitsynthey are set according to a set of tests14:52
lisitsynwanderer_: how do you pass that '-std=c++11' ?14:53
wanderer_in CMAKE_CXX_FLAGS while doing ccmake .14:54
shogun-buildbotbuild #744 of deb4 - python3 is complete: Failure [failed python modular]  Build details are at
wanderer_lisitsyn: any ideas on how to set the HAVE_CXX11 then?14:56
lisitsynwanderer_: why do you want to pass it to flags?15:01
wanderer_lisitsyn: then how do i build it?15:02
lisitsynwanderer_: I mean why to pass std to flags directly?15:03
lisitsyndon't it compile without it?15:03
wanderer_lemme check. back in a minute15:04
wanderer_lisitsyn: it doesn't actually15:08
@lambdaylisitsyn: Saurabh7
@lambdaythis is negligible difference15:08
wanderer_lisitsyn: it actually produces a c++-11 error15:10
wanderer_that's why i thought enabling it via flags was a good idea15:10
@lambdaylisitsyn: ^^15:16
lisitsynwanderer_: ok I see15:18
lisitsynwanderer_: our build system believes your gcc doesn't support C++11 (for some reason)15:18
lisitsynand meanwhile non-C++11 build is broken15:19
-!- cache-nez [~cache-nez@] has joined #shogun15:19
@lambdaySaurabh7: can you run that last benchmark in your machine and let us know the difference?15:20
@lambdaySaurabh7: I used these flags : g++ -O3 -std=c++14 dot_benchmark.cpp -I/usr/include/eigen3 -lshogun -lhayai_main15:20
wanderer_lisitsyn: i saw the cmakelists.txt file15:20
wanderer_and this is what i found15:20
-!- Tanishq [~tanishq@] has left #shogun []15:25
Saurabh7lambday, same not much difference15:34
Saurabh7lambday, but15:34
Saurabh7can you try this
Saurabh7more iterations as in kmeans but dimensions not that big15:34
@lambdaySaurabh7: are you using the compiler optimization flag?15:35
Saurabh7 g++ -O3 -std=c++11 benchmark.cpp -I/usr/include/eigen3 -lshogun -lhayai_main15:35
@lambdaylinalg is all templates, so without -O3 it is doomed15:35
@lambdaySaurabh7: let me try15:35
@lambdaywhat's the result in your machine?15:35
Saurabh7sec posting15:36
Saurabh7looks like for smaller dimensions dynamic is slower15:37
@lambdaySaurabh7: yeah I see.. for smaller vectors it is taking way too much time15:37
@lambdaylet me try with the naked linalg::T* thing15:37
Saurabh7and many runs  as required for kmeans distance computations15:37
-!- curiousguy13 [~curiousgu@] has joined #shogun15:43
-!- leagoetz [] has quit [Remote host closed the connection]16:06
@lambdaySaurabh7: for small dims, I noticed some really weird stuffs... check the 2nd set of benchmarks..
@lambdaydot_benchmark2.cpp and output2.log16:07
@lambdaywill check it in details16:07
@lambdayfor small dims, eigen map is an overkill16:08
@lambdayin that case, the best solution seems to be to have a wrapper for naked ptr in linalg and use NATIVE16:10
Saurabh7lamday, hmm looks weird native is just loops right16:12
-!- travis-ci [] has joined #shogun16:12
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []16:12
Saurabh7but we need a generic solution since we dont knwo dimensions16:13
-!- HeikoS [] has quit [Quit: Leaving.]16:13
@lambdaySaurabh7: not even the ballpark? for your knn use-case?16:14
@lambdaycan it be really huge, that's what I am asking16:14
* lambday afk16:14
Saurabh7yeah i mean the data can be any dimensions16:15
Saurabh7not very huge that would be impractical16:15
Saurabh7lambday, but good performance for say dimensions 10 to 1000 would be nice16:16
Saurabh7lambday, let me know if i can help update something , i ahve to use it in this pr
-!- Saurabh7 [~Saurabh7@] has quit [Quit: Leaving]16:18
-!- wanderer_ [67157d4e@gateway/web/freenode/ip.] has quit [Quit: Page closed]16:19
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 264 seconds]16:21
@lambdayany clue?16:27
@lambdaycheck dot_benchmark2.cpp and output2.log16:27
-!- lzc [~lzc@] has quit [Quit: Leaving.]16:31
-!- Nebula_ [~chatzilla@] has joined #shogun16:40
-!- Nebula_ [~chatzilla@] has quit [Client Quit]16:41
-!- curiousguy13_ [~curiousgu@] has joined #shogun16:46
-!- curiousguy13 [~curiousgu@] has quit [Ping timeout: 260 seconds]16:48
-!- HeikoS [] has joined #shogun16:57
-!- mode/#shogun [+o HeikoS] by ChanServ16:57
lisitsynlambday: which results should I check?16:58
@lambdaylisitsyn: check dot_benchmark2.cpp and output2.log16:58
lisitsynlambday: linalg_native is slow16:59
lisitsynis it?16:59
@lambdaylisitsyn: na the raw ptr is extraordinarily fast17:00
@lambdayalso, native calls the same but it is slow17:00
lisitsynlambday: incredibly hard to read this thing17:00
@lambdayhehe yeah17:01
@lambdaywait I am removing other two irrelevant files17:01
-!- HeikoS [] has quit [Client Quit]17:01
@lambdaylisitsyn: check now17:02
lisitsyn0.002 mus per iteration?17:04
lisitsynlambday: wasn't it optimized out somehow?17:05
@lambdayI suspect the same17:05
@lambdayhow do I stop it from happening without compromising with -O317:06
@lambdayadd the result?17:06
lisitsynyeah put it into volatile variable17:06
lisitsynlambday: I guess when you specify it even more it gives more ability to optimize it out17:08
@lambdaylisitsyn: check this
@lambdaythis makes much more sense.. except the fact that, the cmath one is still faster while it uses the same as eigen_map test17:10
@lambdaybut I don't understand why linalg is so slow17:11
-!- cache-nez [~cache-nez@] has joined #shogun17:24
-!- wanderer_ [67157d4e@gateway/web/freenode/ip.] has joined #shogun17:31
wanderer_so i am trying to include mosek support in shogun17:32
wanderer_in the cmake file there's only one MOSEK_LIBRARY17:32
wanderer_but according to the developers there are three *.so libraries17:32
wanderer_am i doing something wrong?17:32
wanderer_lisitsyn: are you free?17:40
@wikinglambday: so what was the cause?17:46
@lambdaywiking: bummer - no clue17:47
@lambdaywiking: from the benchmarks, the ref thing didn't make any (significant) difference17:47
@wikingbut there's a diff?17:48
@wikingi mean between cmath:: and linalg:: ?17:48
@lambdaycmath is faster (?) for small dimensions17:49
@wikingmmm ok17:49
@lambdayfor large enough dimensions, both are same17:49
@lambdaythat's understandable, since cmath one works with naked ptrs17:50
@lambdaybut I fail to understand why so much difference is there for smaller dimension, especially when both use eigen3 backend17:50
@lambdayin earlier benchmarks I have always taken 1bil sized vectors... so never noticed the difference for smaller sized ones17:52
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 244 seconds]17:54
-!- lzc [~lzc@] has joined #shogun17:55
-!- cache-nez [~cache-nez@] has joined #shogun18:00
-!- rahul_red [~rahul__@] has joined #shogun18:00
-!- Saurabh7 [~Saurabh7@] has joined #shogun18:15
-!- Ameya [0e8b5206@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]18:27
-!- HeikoS [] has joined #shogun18:29
-!- mode/#shogun [+o HeikoS] by ChanServ18:29
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 252 seconds]18:35
-!- cache-nez [~cache-nez@] has joined #shogun18:40
-!- Ameya [0e8b5206@gateway/web/freenode/ip.] has joined #shogun18:44
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 244 seconds]18:51
-!- cache-nez [~cache-nez@] has joined #shogun18:57
@lambdayHeikoS: sent you the mail.. I haven't CC-ed Arthur for this one since this is too much design/implementation details.. Let me know your thoughts when you get some free time..19:02
-!- leagoetz [] has joined #shogun19:03
-!- lzc [~lzc@] has quit [Quit: Leaving.]19:07
@HeikoSlambday: nice I saw it19:08
@HeikoSwill read it a bit later today19:08
@HeikoSlambday: hows the linalg going you were discussing with the others?19:09
@lambdayHeikoS: trouble in paradise.. for vectors with smaller dimensions, eigen3 linalg method is performing superbad whereas cmath one (which uses the same thing) performs better19:10
@lambdaymade multiple benchmarks but still not sure about the issue19:11
@lambdayI always tested with larger dim vectors so never noticed the issue with small ones19:11
@lambdaygotta check19:11
@HeikoSlambday: is it maybe the pass by value of SGVector?19:11
@HeikoSgood to spot such things19:11
@lambdaythat hardly makes a difference19:12
@lambdayyes thanks to Saurabh719:12
@HeikoSwhat else can it even be then?19:12
@lambdayit's calling eigen3 dot..19:12
@HeikoSmaybe eigen3 hinders the c++ optimizer?19:12
@lambdayboth of 'em19:12
@HeikoSso it is linalg19:12
@HeikoSnot eigen19:12
@HeikoSI see19:12
@HeikoSthats a good catch!19:12
@lambdaybut how I don't get19:13
@HeikoSSaurabh7: nice one19:13
@HeikoSno ideas at all?19:13
@lambdayit's the *almost* exact same code19:13
@HeikoSlisitsyn has any ideas?19:13
@HeikoSand all the -O3 stuff is the same?19:13
@lambdaynone yet :'(19:13
@HeikoSvirtual calls or something?19:13
@lambdayno virtual in linalg19:13
@lambdayeverything is compile-time.. it's supposed to be superfast19:14
@HeikoSwhat about comparing the generated code19:14
@HeikoSfor a single dot call?19:14
@lambdayyeah I'll check taht19:14
@HeikoSinteresteing stuff19:14
@HeikoSalways surprises in these things19:14
@lambdaythe difference is significant.. like 2x19:14
@lambdaybut if you use vectors of dims = 1000 or more, it virtually becomes 019:15
@HeikoSI see19:18
Saurabh7HeikoS, :)19:18
Saurabh7he reason why the values are typically low for small sizes, is that in this benchmark we deal with dynamic-size matrices which are relatively inefficient for small sizes19:18
Saurabh7dunno the reason but even they have to say the same19:18
@HeikoSSaurabh7: but if both methods call the eigen code, there cannot  be a difference19:20
@HeikoSboth methods use eigen dynamic matrices right?19:21
Saurabh7cmath uses different one Eigen::Map<const Eigen::VectorXd> ev1(v1,n);19:21
@HeikoSSaurabh7: so that might be it then19:22
@HeikoSlambday: thoughts?19:22
-!- bollu [~Adium@] has joined #shogun19:28
-!- Saurabh7 [~Saurabh7@] has quit [Ping timeout: 248 seconds]19:34
@lambdayhe went offline19:34
@lambdaythe d in VectorXd is for dynamic19:34
@lambdayit's all dynamic afaik19:34
@lambdayjust the const won't make much of a differenc19:35
@HeikoSmmh ok19:35
-!- Saurabh7 [~Saurabh7@] has joined #shogun19:35
@HeikoSlambday: probably some template programming stuff19:35
@HeikoSvery implicit19:35
@HeikoSso looking at the compiler output might be best19:35
@lambdayHeikoS: that's something to think about...19:35
@lambdayHeikoS: I'll try to get objdump19:36
@lambdaythe d in VectorXd is for dynamic19:36
@lambdayit's all dynamic afaik19:36
@lambdayoh sorry, the d is for double19:37
Saurabh7or is it double ?19:37
@lambdaythe X is for dynamic19:37
Saurabh7yeah xd xf19:37
@lambdayEigen::Dynamic, -119:37
@lambdayfor static, things are way too fast19:38
@lambdaySaurabh7: can you try an ugly thing? try linalg::implementation::dot<linalg::Backend::EIGEN3>::compute(a, b)19:39
@lambdaywithout the wrapper19:39
@lambdaysorry it would be19:40
Saurabh7where ?19:40
@lambdaylinalg::implementation::dot<linalg::Backend::EIGEN3, SGVector<float64_t>>::compute(a, b)19:40
@lambdayinstead of linalg::dot(a, b)19:40
@lambdayok tomorrow I am profiling19:45
@lambdaythis is ridiculous19:45
@lambdaybut did the direct call give any advantages over the wrapper?19:46
@lambdaySaurabh7: ^^19:46
Saurabh7lambday, looks like it did actually19:47
@lambdayhow much?19:48
Saurabh7this is before19:48
@lambdayaha... wrapper is the villain19:49
@lambdayI'd anyway do massive refactoring with linalg soon..19:49
@lambdayjust the API calls would be same19:49
@lambdaylinalg::dot(...) allways19:49
@lambdayso let's see19:49
@lambdayas of now, I'd suggest that you use naked ptr19:50
@lambdayor cmath19:50
Saurabh7yup sounds good :)19:50
Saurabh7let me knw if u want help19:50
@lambdaySaurabh7: absolutely19:51
@lambdayclueless about the reason btw.. this method sets Vector=SGVector<T> and then calls compute... the other method does just that..19:53
@lambdayand it's static method, it's not like it creates an object of dot every single time!19:53
@HeikoSfound it guys?19:53
@HeikoSwrapper method19:53
@lambdayHeikoS: found the culprit.. but not sure why19:54
@HeikoSok good stuff19:56
@HeikoSfirst step ;)19:56
@lambdayprofiler to the rescue19:56
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 244 seconds]19:56
-!- cache-nez [~cache-nez@] has joined #shogun19:57
-!- leagoetz [] has quit [Remote host closed the connection]19:58
-!- leagoetz_ [] has joined #shogun20:03
-!- bollu [~Adium@] has quit [Quit: Leaving.]20:07
-!- HeikoS [] has quit [Quit: Leaving.]20:08
-!- leagoetz_ [] has quit [Remote host closed the connection]20:10
-!- bollu [~Adium@] has joined #shogun20:11
-!- cache-nez [~cache-nez@] has quit [Ping timeout: 252 seconds]20:28
-!- lambday [6a338432@gateway/web/freenode/ip.] has quit [Quit: sleeping]20:32
-!- Saurabh7 [~Saurabh7@] has quit [Ping timeout: 244 seconds]20:40
-!- leagoetz [] has joined #shogun20:42
-!- leagoetz [] has quit [Remote host closed the connection]20:42
-!- Saurabh7 [~Saurabh7@] has joined #shogun20:42
-!- rahul_red [~rahul__@] has quit [Quit: Leaving]20:45
-!- bollu [~Adium@] has quit [Quit: Leaving.]20:56
-!- wanderer_ [67157d4e@gateway/web/freenode/ip.] has quit [Quit: Page closed]21:01
AmeyaI compiled the tests. 182 of the 512 are failing, most relating to python modular code. I did compile it with cmake -DENABLE_TESTING=ON -DPythonModular=ON .. as required by the README.developer.21:16
-!- HeikoS [] has joined #shogun21:19
AmeyaIs this a problem specific to my computer, or is it really a common issue? I tried building it again and verifying that I should not have commited any obvious mistakes. I thought I should really ask it out.21:19
-!- mode/#shogun [+o HeikoS] by ChanServ21:19
-!- leagoetz [] has joined #shogun21:19
-!- shubham__ [uid57367@gateway/web/] has joined #shogun21:31
-!- HeikoS [] has quit [Quit: Leaving.]21:46
-!- leagoetz [] has quit [Remote host closed the connection]21:49
-!- HeikoS [] has joined #shogun22:22
-!- mode/#shogun [+o HeikoS] by ChanServ22:22
-!- HeikoS [] has quit [Quit: Leaving.]22:38
-!- HeikoS [] has joined #shogun22:38
-!- mode/#shogun [+o HeikoS] by ChanServ22:38
@HeikoSlisitsyn: jojo23:09
@HeikoSI tried to fix this but failed23:09
@HeikoSmaybe you can have a look23:09
-!- HeikoS [] has quit [Quit: Leaving.]23:09
-!- leagoetz [] has joined #shogun23:24
-!- albedo [~textual@] has joined #shogun23:27
-!- leagoetz [] has quit [Remote host closed the connection]23:34
--- Log closed Sun Mar 06 00:00:25 2016