IRC logs of #shogun for Wednesday, 2016-06-08

--- Log opened Wed Jun 08 00:00:30 2016
@lambdayOXPHOS: yeah00:26
@lambdayOXPHOS: looks okay00:29
OXPHOSlambday: cool thx00:29
@lambdayOXPHOS: although the results don't really make much sense.. we gotta figure out what's wrong..00:30
@lambdayOXPHOS: I mean, why did the eigen3 one change?00:30
@lambdayOXPHOS: looks okay00:30
OXPHOSu mean the sg_linalg eigien3?00:31
@lambdayOXPHOS: direct eigen3 : Average time: 6.598 us, sg_linalg (eigen3) :   Average time: 470743.685 us00:31
@lambdayno direct eigen3 changed00:31
OXPHOSit might be my laptop..00:31
@lambdayOXPHOS: did you have -O3 on?00:31
OXPHOS clang++ -O3 yes00:32
OXPHOS4.655 us this time00:32
OXPHOSand I repeated - 1.269 us00:33
@lambdaywhat I fail to get is that, why is sg_linalg eigen3 version this much slow!00:34
OXPHOSme too..I'm done with squash00:35
OXPHOSit's easier to test with benchmark file merged. So I don't have to switch branches..00:36
@lambdayOXPHOS: yeah let me merge that00:36
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun00:38
shogun-notifier-shogun: OXPHOS :feature/linalg_refactor * 48725f2 / benchmarks/linalg_refactor_benchmark.cpp: https://github.com/shogun-toolbox/shogun/commit/48725f22460a7b69df32798f8ca1d2f16472396600:38
shogun-notifier-shogun: CPU and GPU dot00:38
shogun-notifier-shogun: Soumyajit De :feature/linalg_refactor * ca09094 / benchmarks/linalg_refactor_benchmark.cpp: https://github.com/shogun-toolbox/shogun/commit/ca09094ba2be17faf1c77829eb6f26613e576b4e00:38
shogun-notifier-shogun: Merge pull request #3247 from OXPHOS/linalg_benchmark00:38
shogun-notifier-shogun:00:38
shogun-notifier-shogun: Linalg benchmark00:38
OXPHOSlambday:00:38
OXPHOSthx00:38
@lambdayOXPHOS: okay now we need to clean up the other patch a bit00:39
@lambdayonce that is merged, then maybe even I can play with it00:39
@lambdaywe need to make sure that it is not show as shit00:39
@lambdayslow*00:39
@lambdayOXPHOS: let me comment on the other patch00:40
OXPHOSlambday: sure00:40
@lambdayOXPHOS: BTW general comments - follow the coding style (newlines, indentations etc)00:40
OXPHOSnp00:40
@lambdaylisitsyn: can we use c++11 things directly already?00:41
@lambdaywithout checking any #ifdefs?00:41
@lambdayOXPHOS: also, maybe change the filename/classname from LinalgRefactor to SGLinalg or something00:42
@lambdayrefactor is not a very good name to have in things00:43
OXPHOSokay yep00:43
@lambdaySGLinalg or Linalg whatever..00:43
@lambdayI mean, it shouldn't have refactor00:43
@lambdayOXPHOS: also, add BSD style header to all the new files :)00:44
OXPHOSYeah i wanna distinguish with current linalg namespace. SGLinalg will definitely work00:44
@lambdayOXPHOS: copy it from https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/statistics/HypothesisTest.h00:45
@lambdayOXPHOS: cool!00:45
OXPHOSgot it00:45
OXPHOSlambday: I tried directly call sg_linalg->get_cpu_backend()->dot(*A, *B); with CPUVector A, B in benchmark00:50
OXPHOSbasically no type convert00:50
OXPHOSit still takes the same time as I use basevector and call sg_linalg->dot00:50
@lambdayOXPHOS: I see..00:52
OXPHOSBut then CPUBackend.dot() is the same as direct eigen3 call00:53
@lambdayOXPHOS: so if CPUBackend is on heap, we get this error00:53
@lambdayoops, not error, I mean the shitty performance00:53
OXPHOSyes00:53
@lambdayweird!00:53
OXPHOSit's on heap00:54
OXPHOSand the vector and vlen in CPUVector are wrapped the same as the vector and vlen in SGVector00:54
@lambdayyeah00:55
@lambdayOXPHOS: commented a bit..01:02
@lambdayOXPHOS: let's clean this up and get this merged01:02
OXPHOSlambday: sure. it may take a while..01:04
@lambdayOXPHOS: yeah don't worry01:04
@lambdayOXPHOS: oh I forgot.. maybe few things should be made const01:04
@lambdaylet me check again01:05
OXPHOSlambday: the GPU vector01:05
OXPHOSI cannot use GPUVector01:05
OXPHOSbecause it already exists01:06
@lambdayOXPHOS: you can.. we had CGPUVector :)01:06
@lambdaythis one doesn't have the 'C'01:06
OXPHOShaha alright01:07
@lambdaydone01:13
OXPHOSlambday: thanks so much!01:14
@lambdayOXPHOS: good job with the benchmark and the patch :)01:15
@lambdayOXPHOS: now we just need to examine about how to make it fast01:15
OXPHOSlambday: thx! it took me so long.01:16
OXPHOSyeah it doesn't look slow01:16
@lambdayOXPHOS: don't worry.. once we get the basics right, rest are just mostly copy-paste01:17
OXPHOS:D01:17
@lambdayI mean, adding other methods01:17
@lambdayapart from dot01:17
OXPHOSyeah they're basically the same01:18
OXPHOSas before01:19
@lambdayyea01:20
@lambdaybut sg_linalg->get_cpu_backend()->dot(*A, *B); is slow whereas CPUBackend.dot() is the same as direct eigen3 call (!!)01:20
* lambday wonders01:20
@lambday:/01:21
-!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Quit: buildmaster reconfigured: bot disconnecting]01:21
-!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun01:21
@lambdayI mean, yes it is two methods calls instead of just one01:22
@lambdaybut I wonder whether something like01:23
@lambdayauto global_cpu_backend = sg_linalg->get_cpu_backend();01:23
@lambdayfor (iterations)01:23
@lambdayglobal_cpu_backend->dot(*A, *B);01:23
@lambdaywould be any faster!01:23
OXPHOSha01:24
@lambdayOXPHOS: also, in the actual code, we directly use the m_cpubackend thing01:25
@lambdayget thing should be basically free01:25
@lambdaymaybe inline them?01:26
@lambdayanyway01:26
@lambdayjust thinking out loud01:26
OXPHOSit's easy to test01:26
OXPHOSI can just have a CPUBackend instance in Data and pass it to BENCHMARK01:27
@lambdayyeah..01:27
@lambdaykeep one on stack and another on heap01:27
@lambdayjust the cpu backends01:27
@lambdayand compare their performances01:27
@lambdayit's important that we figure this out :)01:27
@lambdayotherwise no one will ever use it :(01:27
OXPHOSnoooooooo01:28
OXPHOSlambday: not helping. I have a CPUBackend instance and a unique_ptr <CPUBackend> in Data structure and passed them to the tests separately01:34
OXPHOS4e6 us01:34
OXPHOSthe same as sg_linalg->set_cpu_backend()->dot()01:34
@lambdayOXPHOS: the one on stack is fast?01:37
OXPHOSlambday: no..the same01:38
OXPHOS2.5% difference01:39
@lambdayhah01:39
OXPHOSall extremely slow01:39
@lambdayOXPHOS: okay.. now put CPUVector on stack instead and then run the previous benchmark01:42
@lambdayI mean, directly calling CPUBackend::dot(CPUVector) without using ptrs01:43
OXPHOSI did?01:43
@lambdayOXPHOS: oh the vector was also on stack01:44
@lambdayokay let me try something01:44
OXPHOSoh wait01:44
OXPHOSno I didn't01:44
OXPHOSlambday: i didn't01:45
@lambdayOXPHOS: okay01:48
OXPHOSlambday: CPUVector and CPUBackend both on stack, still the same results01:50
@lambdayOXPHOS: cool..01:51
@lambdayOXPHOS: I'm checking what might go wrong01:51
OXPHOSlambday: thx. it's kinda late in London right?01:53
@lambdayOXPHOS: yeah01:54
@lambday00:5201:54
@lambdayOXPHOS: will let you know if I find something interesting..01:54
@lambdaylooking forward to the cleaned up patch :)01:54
OXPHOSlambday: sure!01:55
@wikingyo02:06
@lambdaywiking: yo02:17
@lambdayOXPHOS: turns out, if you keep the implementation for CPUBackend::dot in the header itself (basically, get rid of the cpp), then compiler can inline things and it is just as fast02:19
@lambdayOXPHOS: and I guess same goes for GPUBackend::dot02:20
@lambdayOXPHOS: sorry that I asked you to move those in cpp02:20
@lambdayah wait02:20
@wikingmmm what? :)02:20
OXPHOSlol02:20
@wikingwhy dont you just use 'inline'02:21
@wikingif you really wanna inline02:21
-!- lambday_ [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has joined #shogun02:22
-!- mode/#shogun [+o lambday_] by ChanServ02:22
-!- lambday was kicked from #shogun by lambday_ [lambday]02:22
@lambday_hah02:22
@lambday_without the cpp, GPUbackend won't work as we designed it to, right?02:23
OXPHOSlambday_ you can kick people!02:23
@lambday_OXPHOS: brwahahahaha02:23
OXPHOSthe old linalg are all in .h I guess .cpp is for GPU purpose02:23
@wikingyou want to be able to have opaques :)02:24
@lambday_wiking: yeah02:24
@wikingbut then again if inline is your problem just inline the function.02:24
@wikingexplicitly02:24
@lambday_wiking: but that would make the header dependent on the backend lib directly, isn't it02:28
@lambday_for making things inline, it should be in the header itself02:29
@wikinglambday_: what?:02:29
@wikingyou can inline a function02:29
@wikingin cpp02:30
@lambday_for making things inline, it should be in the header itself02:30
@wikingagain02:31
@wikingclass A { inline void a(); }02:31
@wikingthen inline void A:a() {}02:31
@wikingshould work02:31
@lambday_wiking: really? didn't know that!02:31
@wikingi mean you save there a simple function call02:32
@wikingwhich in case of c02:32
@wikingis quite low the overhead02:32
@lambday_wiking: I don't think this inlining works02:32
@wiking+ stack stuff02:32
@wikinglambday_: check c++ standard02:33
@lambday_wiking: well, actually I have been playing with this thing.. tried two different versions.. one with inlined and another in cpp..02:33
@wikingbut it's up to the compiler02:33
@wikingto take it in consideration02:33
@lambday_seems like there is quite a lot of difference02:33
@wikingit's a constant time02:33
@wikingright?02:33
@lambday_wiking: let me show you the results02:33
@lambday_wiking: I don't think this inlining works02:34
@wikingunless you dot product like vectors of size 202:34
@wikinglambday_: again02:34
@wikingread what i write02:34
@wiking02:32 <@wiking> but it's up to the compiler02:34
@wiking02:32 <@wiking> to take it in consideration02:34
@wikingif you really want to have inlining02:35
@wikinguse macros02:35
@wiking"just a suggestion not compulsion. Compiler may or may not inline the functions you marked as inline. It may also decide to inline functions not marked as inline at compilation or linking time"02:35
@lambday_wiking: functions that are defined in the header have higher chances to get inlined..02:36
@lambday_wiking: but anyway the point was02:36
@lambday_inlining makes a huge difference in the test case I was working on02:37
@lambday_it's not a constant overhead02:37
@wikingbut it should be02:37
@wiking:)02:37
@lambday_maybe it's because it calls eigen dot.. which is super optimized if inlined02:37
@wikingthen you are measuring something wrong02:37
@wiking+ if you inline functions a lot02:38
@wikingyou gonna be trashing the memory a lot02:38
@wiking=> lot of page faults02:38
@lambday_wiking: I understand that.. but nonetheless the test-case is important02:39
@lambday_let me show you the files..02:39
@wikingyes but it something wrong02:39
@wikingunless of course02:41
@wikingyou pass not a reference but the vector itself02:41
@wikingfor the dot02:41
@wikingbecause then the stack copy is gonna be function of the input02:41
@wikingbtw in most of the cases inline is being used in the wrong way in shogun :002:45
@wikingthings like this marked as inline is totally unnecessary:02:46
@wiking                inline LIBLINEAR_REGRESSION_TYPE get_liblinear_regression_type()02:46
@wiking                {02:46
@wiking                        return m_liblinear_regression_type;02:46
@wiking                }02:46
@lambday_wiking:  check (a) https://gist.github.com/lambday/774e12056299f461a4c64837298bea95 and (b) https://gist.github.com/lambday/492b40fed33e45670dd8794c9bff2bf302:46
@wikingsince it's defined & declared in the class02:46
@wikingthat is automatically inline02:46
@wikingd02:46
@lambday_wiking: true02:47
@lambday_wiking: but I could use your inputs on this one02:47
@wikingwhat is but?02:48
@wikingsorry man02:48
@wikingbut please try to get some sleep :)02:48
@wikingwhat's your compiler flags on this02:49
@wikingwhats your compiler?02:49
@lambday_wiking: -O302:49
@lambday_g++02:49
@lambday_both02:49
@wikingversion?02:49
@wikingjust for fun change to clang++02:49
@lambday_g++ -O3 -std=c++11 dot_test.cpp -I. -I/usr/include/eigen3 -lshogun -lhayai_main -o benchmark02:50
@wikingand btw what's your arch?02:50
@lambday_fedora 22 x86_6402:51
@wikingi asked arch02:51
@wikingnot distro02:51
@wikingis it like i5 or i7 or wtf?02:51
@lambday_oh i502:51
@lambday_clang gives similar results for the inlined one02:52
@wikingcan you copy the flags from /proc/cpuinfo02:52
@lambday_checking the non-inlined version02:52
@lambday_fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flex02:52
@lambday_Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz02:53
@lambday_wiking: same result for clang :)02:54
@lambday_also, neither g++ nor clang++ inlines when we define it in the cpp and not the header02:55
@wikingdo you know how to check the the binary for inlining?02:55
@wikingi.e objdump -D ...02:55
@wikingor there's a gcc option02:56
@wiking-Winline maybe?02:56
@wikingbut yeah best is to check the difference02:56
@wikingbetween the assembler output02:57
@lambday_wiking: I can try objdump02:57
@wikingor you can do -S for gcc02:57
@wikingand check the assembly02:57
@wikingits the same as objdump02:57
@wikingbtw how do you know it's not inlined?02:57
@wiking"<@lambday_> also, neither g++ nor clang++ inlines when we define it in the cpp and not the header"02:57
@wiking?02:57
@lambday_wiking: because the compiler msg says this02:58
@lambday_./dot.h:22:11: warning: inline function 'shogun::linalg::CPUBackend::dot<double>' is not defined [-Wundefined-inline]02:58
@lambday_that was for clang02:58
@lambday_similar msg was there for gcc02:58
@lambday_wiking: I can try objdump02:58
@wikingcan you send me plz the 2 binaries somehow02:59
@lambday_./dot.h:22:11: warning: inline function ‘T shogun::linalg::CPUBackend::dot(const shogun::SGVector<ST>&, const shogun::SGVector<ST>&) const [with T = double]’ used but never defined02:59
@lambday_wiking: okay02:59
@lambday_mailing those to you02:59
@lambday_does gmail allow us to attach binaries03:01
@wikingdunno03:03
shogun-buildbotbuild #1016 of nightly_none is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_none/builds/1016  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Viktor Gal <vigsterkr@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>, Viktor Gal <viktor.gal@maeth.com>03:04
@lambday_wiking: check mail03:04
@wikinglambday_: can you try to define the in the declaration03:05
@wikingof the dot function03:05
@wikingextern inline dot...03:05
@wikingand what's the output size03:08
@wikingof that binary03:08
@wikingbecause it's actually tooo funny03:08
@wikingthat the 'non-inlined' one is bigger than the inline one03:08
@lambday_wiking: yeah I too noticed that.. not sure why that is03:09
@wikingso what's the output for that?03:14
@lambday_wiking: output for?03:18
@lambday_oh extern03:18
@lambday_how can I specify a storage class to a method?03:19
@wiking?03:19
@lambday_In file included from dot.cpp:1:0: ./dot.h:22:66: error: storage class specified for ‘dot’   extern inline T dot(const SGVector<T>& a, const SGVector<T>& b) const;03:19
@lambday_so either I am too sleepy and I did something wrong here.. or it's not possible03:20
@wikingmmm c++03:20
@lambday_wiking: you want to force inlining while staying in the cpp :D03:21
@wikingnoup03:21
@wikingi'm just wondering03:21
@wikingwhat is the diff03:21
@lambday_wiking: let me know if you find anything in the binaries03:21
@lambday_wiking: I'm off for tonight03:22
@lambday_bottom line is, there is a difference and it is huge..03:22
@wikingmm03:22
@lambday_if I can't find why that is, then the design if gonna be wrong (again)03:22
@wikingi reckon it's measuring wrong03:22
@lambday_is*03:22
@wikingthis is really smell a lot of bullshit03:23
@wikingthat your overhead is not constant03:23
@wikinghave you changed the size of the input?03:23
OXPHOSlambday_ i guess today is too long for you03:23
@wikinglike data to be 10000 instead of 100000003:23
@lambday_wiking: checking03:24
@lambday_OXPHOS: haha yeah03:24
@lambday_oh fuck it's 2:2303:25
@lambday_wiking: I can try testing this with google benchmark tool if you want03:25
@lambday_but I am pretty sure that won't gonna change the results..03:25
@lambday_maybe examining the binaries in details is the only way03:26
@lambday_anyway I'm off for tonight03:26
@lambday_see you tomorrow03:26
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]03:38
shogun-buildbotbuild #14 of clang - thread analysis is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/clang%20-%20thread%20analysis/builds/14  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Viktor Gal <vigsterkr@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>, Viktor Gal03:44
shogun-buildbot<viktor.gal@maeth.com>03:44
shogun-buildbotbuild #13 of clang - undefined behaviour analysis is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/clang%20-%20undefined%20behaviour%20analysis/builds/13  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Viktor Gal <vigsterkr@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, Sergey Lisitsyn03:48
shogun-buildbot<lisitsyn.s.o@gmail.com>, Viktor Gal <viktor.gal@maeth.com>03:48
-!- lambday_ [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has quit [Ping timeout: 250 seconds]03:57
shogun-buildbotbuild #15 of memleak - valgrind is complete: Failure [failed memory check]  Build details are at http://buildbot.shogun-toolbox.org/builders/memleak%20-%20valgrind/builds/15  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Viktor Gal <vigsterkr@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>, Viktor Gal05:29
shogun-buildbot<viktor.gal@maeth.com>05:29
shogun-buildbotbuild #1146 of nightly_default is complete: Failure [failed test notebooks]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/1146  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Viktor Gal <vigsterkr@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>, Viktor Gal06:14
shogun-buildbot<viktor.gal@maeth.com>06:14
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has quit [Quit: Page closed]07:49
-!- deepak_ [a32f0de7@gateway/web/freenode/ip.163.47.13.231] has joined #shogun08:22
-!- sanuj [~sanuj@117.203.8.78] has joined #shogun08:29
-!- deepak_ [a32f0de7@gateway/web/freenode/ip.163.47.13.231] has quit [Ping timeout: 250 seconds]08:31
-!- arianepaola [~ariane@unaffiliated/arianepaola] has quit [Read error: Connection reset by peer]08:46
-!- arianepaola [~ariane@unaffiliated/arianepaola] has joined #shogun08:52
-!- deepak_ [a32f0de7@gateway/web/freenode/ip.163.47.13.231] has joined #shogun08:54
sanujwiking, there?09:04
@wikingyes09:08
@wikingbarely but yes09:08
sanujwiking, i'm converting some public members to protected in neuralnetwork.h09:15
sanujadded setters/getters for them09:16
sanujgot this error while building: http://pastebin.com/EH7GTqGD09:16
sanujwiking, do i need to change something in SWIG also?09:16
sanujlisitsyn, maybe you can help if wiking is busy09:17
sanujlisitsyn, and could you please comment in the tags PR09:17
sanujfor any.h doc09:17
@wikinglemme check09:18
@wiking10 mins tops ..09:18
sanujwiking, okay09:18
sanujlisitsyn, https://github.com/shogun-toolbox/shogun/pull/322109:18
@wikingsanuj: yesah09:35
@wikingit seems those getters setters you wanna access from public09:35
sanujwiking, what change in SWIG09:36
sanujwiking, those are already public10:19
-!- deepak_ [a32f0de7@gateway/web/freenode/ip.163.47.13.231] has quit [Quit: Page closed]10:22
@wikingwhich?10:25
@wikingi mean it says that they are protected10:25
sanujwiking, the variables are protected10:25
sanujbut the functions are public10:25
@wiking/home/sanuj/Projects/shogun_cb/buildpy/src/interfaces/python_modular/modshogunPYTHON_wrap.cxx:565043:21: error: within this context if (arg1) (arg1)->dropout_hidden = arg2;10:27
@wikingthere's that statement10:27
@wiking/home/sanuj/Projects/shogun_cb/src/shogun/neuralnets/NeuralNetwork.h:642:12: error: ‘float64_t shogun::CNeuralNetwork::dropout_hidden’ is protected10:27
sanujyes10:27
@wikingso?10:28
sanujfloat64_t shogun::CNeuralNetwork::dropout_hidden is protected10:28
sanujwiking, but set_dropout_hidden() is public10:28
@wikingbut it doesn't use set_dropout_hidden(asdf)10:28
@wikingit callse10:28
@wiking (arg1)->dropout_hidden10:28
@wiking                = arg2;10:28
sanujwiking, why is it doing that?10:29
sanujcan't i have protected members to work with swig?10:29
@wikingyou can of course10:29
sanujthis is how the function looks10:30
sanujvoid set_dropout_hidden(float64_t _dropout_hidden)10:30
sanuj{10:30
sanujthis->dropout_hidden = _dropout_hidden;10:30
sanuj}10:30
sanujwiking, the error is in here in line 22 http://pastebin.com/qNfHAmwT10:33
sanujfirst i thought this is because of inline functions10:33
sanujbut now i have removed inline but still getting the same error10:34
@wikingtherea are a lot of protected memebers tahta re exposed via swig10:35
sanujwiking, yes, so what's the problem here?10:36
@wikingsanuj: could you be a bit more autonomous10:36
@wikingit's a simple compiler error10:36
@wikingi'll try my best but atm i dont have a machine where i could do anything10:37
sanujwiking, okay10:37
@wikingdo you have this code somewhere avaialble online?10:38
sanuji'll open a pr if you want10:38
@wikingdont need to be a pr10:39
@wikingyou can just push it to your own repo's branch and gimme the name10:39
sanujokay10:39
sanujhttps://github.com/sanuj/shogun/commit/cdbe259939fd33561ed4cf728103c415ae65b50310:46
-!- sanuj [~sanuj@117.203.8.78] has quit [Ping timeout: 276 seconds]11:13
lisitsynok heree11:19
-!- sanuj [~sanuj@117.204.255.138] has joined #shogun12:47
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has joined #shogun13:07
-!- mode/#shogun [+o lambday] by ChanServ13:07
-!- HeikoS [~heiko@nat-223-130.internal.eduroam.ucl.ac.uk] has joined #shogun13:12
-!- mode/#shogun [+o HeikoS] by ChanServ13:12
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has quit [Ping timeout: 250 seconds]13:16
-!- GandalfTheWizard [~Eva@112.10.170.58] has quit [Quit: Leaving.]13:17
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has joined #shogun13:36
-!- mode/#shogun [+o lambday] by ChanServ13:36
@HeikoSwiking: jojo13:50
@wikingHeikoS:  yo14:05
@HeikoSwiking: yo14:06
@HeikoSjust sent email14:06
@HeikoSlambday, lisitsyn ^14:06
@wikingwhere to?14:06
@HeikoSmaeth.com14:06
@HeikoSshall i forward?14:06
lisitsynI've got it14:07
@wikingnono reading14:07
@HeikoScool14:08
@wikingapple with oranges14:08
@wikingthat's the problem with that benchmark nothing else :)14:08
@wikingbut i had a system crash this morning14:08
@wikingmy laptop went into an infinite loop of restarts14:08
@HeikoSui14:09
@HeikoSnice one14:09
@HeikoSand now you are on phone? :D14:09
@wikingso i'm happy that i've managed to backup my data14:09
@wikingbetween 150 restarts14:09
@wiking:)14:09
@HeikoSuh yeah14:09
@HeikoSreminds me14:09
@HeikoSshould do that as well14:09
@HeikoSok so how to measure this better?14:09
@HeikoSin comparable way14:09
@lambdaywiking: well, it's not exactly apples and oranges.. they both do the same thing :)14:12
@lambdaywiking: point is, we gotta figure out "why" it is slow14:12
@wikingbut man14:12
@wikinghave you checked the asm code?14:12
@wikingbazdmeg nem hiszem el hogy mindig ilyen kurva okos mindenki14:13
@wikingMINDIG BAZDMEG14:13
@lambdaywiking: that's what I was hoping that you can help a bit with14:13
@wikingELOSZOR NEZEL MAR BAZDMEG UTANA ANNAK HOGY MI A FASZOMROL BESZELSZ14:13
@wiking^googl translate taht plz14:13
@wikingbecuase i'm fucking tired14:13
@wikingof statements like this14:13
@HeikoSwiking: ??14:14
@HeikoSdude speak english14:14
@lambdaywiking: see I have no intention of making any statement here.. the results speak14:14
@lambdayoxphos was getting a similar thing in her machine14:15
@wikingno day dont speak14:15
@wikingbecause you are not comparing14:15
@wikingthe right things14:15
@wikingbazdmeg14:15
@wikingfaszom14:15
@wikinglook at the objdump14:15
@wikingyou generate the code14:15
@wikinginto everything14:15
@wikingyes of course since the fucking main you have the whole objcet14:15
@wikingobviously that you will be faster14:15
@wikingwhen your whole code is in main()14:16
@lambdaywiking: that's not what this was14:17
@HeikoSwiking: what about you do a mini benchmark?14:17
@wikingwhich?14:17
@wikingobjdump it fuck14:17
@wikinglook at the generated asm14:17
@HeikoSwiking: because this way of doing it is sooo inefficient14:17
@HeikoSjust show how to do it right14:17
@wikingorr jsut gcc -S -it14:18
@wikingorr jsut gcc -S it14:18
@lambdayokay..14:18
@lambdaycool..14:18
@wikingif you generate the whole code into the benchmark function14:19
@lambdayso I should do it for g++, and then clang++ ?14:19
@wikingno you dont care about that14:19
@wikingyou just care atm the diff between the 2 generated code14:20
@HeikoSwiking: so what about a better benchmark?14:22
@HeikoSor other way of comparing?14:22
@HeikoSwe need gist and numbers14:23
@lambdayHeikoS: wiking: lisitsyn: so here is why (after checking the objdump)14:30
@lambdayin the file where the whole thing is header only, it doesn't even create any code for CPUBackend::dot (can't find the symbol there at all), just inlines it..14:31
@wikinglambday: the rpoblem is that if you go with this14:31
@lambdayand in the other case, there is a code14:31
@wikinglibshogun will be fucking crazy14:31
@wikingand not only that (size wise)14:31
@wikingyou'll have serious problems once this is plugin-ized14:32
lisitsynheader only would make any plugin contain all linalg :D14:32
@lambdaywiking: that's what it does when you include a <Eigen/Eigen> in your cpp14:32
@wikingyeah but eigen you wanna include14:32
@wikingin every plugin?14:32
@wikingi mean yeah in a way14:32
@wikingbut wasn't the idea of linalg backend was14:33
@wikingto have a centralized thing doing dot?14:33
@wikingbecause i thought we wanna have n different type of linalg plugins14:33
@wikingthat implement various linalg backends14:33
@wikingplugins = shared library14:33
@lambdayI won't use a centralized dot if it's fucking slow! I'd rather stick to Eigen14:33
@wikinghahaha14:34
@wikingfucking slow :)14:34
@wikingi mean sorry man but you dont even grasp the amount of time it takes14:34
@wikingbut anyhow14:34
@wikingyou could go around this easier14:34
@lambdaywiking: how?14:36
lisitsynwait wait14:36
lisitsynblas is not header only14:36
lisitsynwith all these overheads we could have14:36
lisitsynand yet it is as fast as eigen14:36
-!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has joined #shogun14:37
@lambdaylisitsyn: well, when relying on different backends, how can you guarantee that? we're not a linalg library, we're a meta library14:37
@lambdayof course different backends do things differently in their most optimized way14:37
lisitsynlambday: just one level of indirection?14:38
lisitsynhow can that make it slower?14:38
@lambdaylisitsyn: it's not just that.. I could only look at a small portion of these 15k lines of assembly files14:39
@lambdaybut when I searched for the symbol in the header only file, it wasn't there14:39
@wikingbut having generated code into the code (everywhere) like a macro14:42
@wikingis always gonna be faster14:42
@wikingobfiously14:42
@wikingbut is this actually feasible for us?14:42
lisitsynwhy could that be much faster?14:43
lisitsynit gets much faster when something is being exploited14:43
lisitsynlike const, alignment or so14:43
@wikingyeah but we dont align yet any vectors14:43
lisitsynbut the overhead of calling virtual function is negligible comparing to multiplying thousands of numbers14:43
@wikingyeah but the thing is that we keep calling a virt function14:44
@wikinglike 100k times14:44
@wikingalthough it's a constant time14:45
@wikingit'll add up14:45
@wikingof course depends on your input size14:45
lisitsynah ok14:45
-!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]14:54
-!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has joined #shogun15:04
shogun-buildbotbuild #412 of deb1 - libshogun - PR is complete: Failure [failed cookbook]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/412  blamelist: arianepaola15:16
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun15:17
shogun-notifier-shogun: Heiko Strathmann :develop * bf15b80 / examples/meta/generator/targets/java.json: https://github.com/shogun-toolbox/shogun/commit/bf15b80d2331315063c0eba66f5e3cc18ce267f715:17
shogun-notifier-shogun: explicit imports; fix problem of ambiguous Math reference15:17
shogun-notifier-shogun: Heiko Strathmann :develop * 561e030 / examples/meta/generator/targets/r.json: https://github.com/shogun-toolbox/shogun/commit/561e03077a337946169edbacea66a4994a4a9b2415:17
shogun-notifier-shogun: fix r static method call copy paste error15:17
shogun-notifier-shogun: Heiko Strathmann :develop * 20020f7 / examples/meta/generator/targets/java.json: https://github.com/shogun-toolbox/shogun/commit/20020f72a79de815c6a7fa4044b9dc52b86aff3815:17
shogun-notifier-shogun: import modshogun again in meta examples15:17
shogun-notifier-shogun: Heiko Strathmann :develop * bac2321 / examples/meta/ (5 files): https://github.com/shogun-toolbox/shogun/commit/bac2321c49b1a01ec2614284e3824df406df0c0315:17
shogun-notifier-shogun: remove nose tests for generator, we got those covered by the meta examples now15:17
shogun-notifier-shogun: Heiko Strathmann :develop * 19e364a / examples/meta/ (7 files): https://github.com/shogun-toolbox/shogun/commit/19e364a1070b36cc8bbf262b5da97db485e4d67215:17
shogun-notifier-shogun: Merge pull request #3251 from karlnapf/develop15:17
shogun-notifier-shogun:15:17
shogun-notifier-shogun: meta examples: fixes for java & R15:17
c4goldswwiking ping15:19
@wikingpong15:19
c4goldswhahahaha I was just thinking that15:19
shogun-buildbotbuild #413 of deb1 - libshogun - PR is complete: Failure [failed cookbook]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/413  blamelist: arianepaola15:20
c4goldswI was just browsing through CDenseFeatures and I noticed that there was no constructor for SGVectors, though there is one for SGMatrix15:20
c4goldswWhy would this be the case?15:20
c4goldswJust curious.15:20
@wikingwhat do you mean there was no ctrs for SGVectors?15:21
sanujhey lisitsyn15:22
sanujgot time?15:22
lisitsynwill get soon but not yet15:22
c4goldswwiking: http://imgur.com/hp1mc0S15:23
sanujlisitsyn, okay when you get time, can you please comment on my tags PR for documentation in any?15:23
shogun-buildbotbuild #414 of deb1 - libshogun - PR is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/41415:23
lisitsynsanuj: sure15:24
sanujlisitsyn, thanks15:24
c4goldswwiking: there's only one more constructor below that which has no parameters15:24
@wikingc4goldsw: next time you can link to a line on github15:24
@wikingbut yeah of course15:24
@wikingFeatures always a collection of vectors15:25
c4goldsw^ much better way, will remember.15:25
@wikingand in case the collection = 115:25
@wikingthen it's a 1 vector matrix15:25
@wiking:)15:25
c4goldswAh, okay.15:25
@wikinggot it?15:25
c4goldswYes, thank you.15:25
@wikingmw15:26
@wikingnw15:26
c4goldsw?15:27
c4goldswwiking what does that mean?15:27
shogun-buildbotbuild #42 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/42  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>15:28
@wikingno worries15:30
shogun-buildbotbuild #2904 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2904  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>15:30
c4goldswGot it15:30
Saurabh7hello15:31
Saurabh7wiking: its not good if i pass eigen things ?15:31
@wikingnoup15:31
Saurabh7private methods15:31
@wikingpass the vector15:31
@wikingonly thing is that what happens if tomorrow we say we want another linalg library15:32
@wikingnot eigen15:32
@wiking?15:32
@wikingthen we'll have to dig into this15:32
@wikingand fix it15:32
@wikingright?15:32
Saurabh7okie yes15:32
shogun-buildbotbuild #43 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/43  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>15:32
Saurabh7hmm how do I deal with transpose then15:33
@wikingwell as lisitsyn told yesterday15:33
@wiking.transpose() actually will not literally transpose the matrix in eigen15:33
c4goldswwiking before I start working away, I want to make sure I have the right idea - I'm just templating the classes that use CDenseFeature so that we won't have to cast everything to float64_t, yes?15:36
@wikingmmm15:37
@wikingso basically the grep expression i gave u yesterday15:38
@wikingthere15:38
@wikingyou need to make sure15:38
@wikingthat those implementation can work15:38
@wikingwith CDenseFeature<float32_t> at least15:38
@wikingjust take any of those classe as a guinea pig15:38
@wikingand we can do that iteratively there15:38
@wikingsend in a pr and we'll see if you get it right15:39
@wikingand once that is done properly in one class15:39
@wikingwe can move on and fix the rest15:39
c4goldswYes, but I can do that with templates, no?15:39
@wikingyeah15:40
c4goldswGreat.15:40
c4goldswAll is clear then.15:40
sanujwiking, you are from hungary?15:42
@wikingyes15:42
sanujokay15:42
Saurabh7map.transpose().col(i)15:46
Saurabh7this will still access a row of col major matrix ?15:46
@wikingshould15:46
Saurabh7wiking: then I have to transpose the SGMatrix itself in memory15:46
Saurabh7at the beginning15:47
@wikingbut wait why?15:47
Saurabh7need to loop over the rows of matrix15:47
Saurabh7dot products15:47
Saurabh7map_X.col(i_max_corr).dot(map_X.col(active_set[i]))15:48
shogun-buildbotbuild #2897 of deb3 - modular_interfaces is complete: Failure [failed examples and unit tests]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb3%20-%20modular_interfaces/builds/2897  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>15:49
Saurabh7wiking: ^15:49
Saurabh7there is performance drop15:52
@wikingwhere? :)15:54
@wikingwhere is performance hidign? :)15:54
Saurabh7trying to understand that :)15:56
Saurabh7https://gist.github.com/Saurabh7/ab36961c51cd5e69213096527b4d281015:56
Saurabh7when i run this with my branch version15:56
Saurabh7and map.transpose().col(i)15:56
Saurabh7latter is slow15:57
sanujwiking, i have a question about combinedkernel15:58
@wikingtell me15:58
sanujwiking, is cleanup() supposed to remove the kernels present in a combinedkernel object?15:59
sanujcurrently it does this for every kernel15:59
sanujCKernel* k = get_kernel(k_idx);15:59
sanujk->cleanup();15:59
sanujSG_UNREF(k);15:59
@wikingremove?16:00
@wikingno16:00
@wikingcleanup16:00
@wikingno?16:00
-!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]16:01
@HeikoSsanuj: it is just a wrapper16:02
@HeikoSthat calls cleanup on all sub-kernels16:02
@HeikoSSaurabh7: jo16:03
Saurabh7HeikoS: hi!16:03
Saurabh7HeikoS: updated almost all things in LARS16:04
@HeikoSSaurabh7: cool16:06
@HeikoSwill check them soon16:06
@HeikoSanything exciting happened?16:06
shogun-buildbotbuild #33 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/33  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>16:08
sanujokay16:09
sanujsorry, had to make a phone call16:09
Saurabh7HeikoS: the comparison is always a bit fishy, I have tried to make it as fair as possible16:09
sanujHeikoS, yeah, i saw the function16:11
-!- HeikoS [~heiko@nat-223-130.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 258 seconds]16:12
sanujwiking, if i want to reuse kernels in combinedkernels with new features then shall i do combinedkernel->get_kernel(0)->init(....)?16:12
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun16:23
-!- sanuj [~sanuj@117.204.255.138] has quit [Ping timeout: 276 seconds]16:24
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun16:31
-!- mode/#shogun [+o HeikoS] by ChanServ16:31
-!- arianepaola [~ariane@unaffiliated/arianepaola] has quit [Read error: Connection reset by peer]17:02
-!- arianepaola [~ariane@unaffiliated/arianepaola] has joined #shogun17:06
-!- arianepaola [~ariane@unaffiliated/arianepaola] has quit [Client Quit]17:07
-!- arianepaola [~ariane@unaffiliated/arianepaola] has joined #shogun17:08
arianepaolahello everyone :-)17:08
arianepaolawiking and HeikoS I will be working today on updating the PRs that you have provided feedback.17:10
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has quit [Ping timeout: 250 seconds]17:11
@HeikoSarianepaola: hi there!17:12
@HeikoSthanks for that, will check them soon17:12
arianepaolahi HeikoS17:13
arianepaolaHeikoS: thanks!17:13
@wikingoooooooooooooooooooooooooooooooooooooooooookey17:18
@wikingsorry wrong window17:19
-!- sonne|osx [~sonne@x4e33f692.dyn.telefonica.de] has joined #shogun17:23
arianepaolahaha wiking17:23
@HeikoSarianepaola: dont mind wiking shouting around, he does that17:23
@HeikoSarianepaola: I just read your email17:24
@HeikoSthanks for the reply17:24
arianepaolaHeikoS: I remember last month, when he fall asleep on the keyboard and flooded the IRC logs :-)17:24
arianepaolaHeikoS: sure17:24
@HeikoSarianepaola: We will discuss a bit internally and will get back to you on this17:25
@HeikoSbut I also wanted to catch you in IRC on this17:25
@HeikoSso see, the main thing for us in GSoC is that we see constant progress on the projects17:26
@HeikoSwith daily discussions and PRs17:26
@HeikoSand in particular active code development17:26
@HeikoSso if this is not so visible, our alarm goes on17:27
@HeikoS(we are actually required to ensure this from the GSoC program)17:27
arianepaolayes HeikoS17:28
@HeikoSarianepaola: we really want our project to be successful17:28
@HeikoSnow the thing is17:29
@HeikoSthere is an agreement between students and organisations and google17:29
@HeikoSwhich is: you work full-time on this17:29
@HeikoSand then you are paid17:29
@HeikoSnow17:31
@HeikoSlets move to pm then17:31
arianepaolaok17:31
OXPHOSHeikoS: hey got time to check the cookbook PR?18:06
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]18:17
@HeikoSOXPHOS: not yet, but I merged something to "fix" the java problems18:19
@HeikoS(which broke all examples, fixing soon)18:19
OXPHOSHeikoS: oh I thought we're good to go18:21
OXPHOSso I'll wait18:21
-!- sanuj [~sanuj@117.204.255.138] has joined #shogun18:44
arianepaolahi sanuj18:53
sanujarianepaola, hi!18:53
arianepaolasanuj: did you get to try ninja instead of make?18:54
sanujarianepaola, yeah, it's fast18:55
arianepaola:-)18:55
sanuji increased my ccache size to 10 gb18:55
sanujthat also increased it18:55
sanuj:)18:55
arianepaolawow18:55
arianepaolaanyway better than compiling everything18:56
sanujyeah18:56
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has joined #shogun19:12
-!- mode/#shogun [+o lambday] by ChanServ19:12
@lambdayOXPHOS: heya19:14
@lambdayOXPHOS: could you just rename the directory 'linalgrefactor' to something else? maybe move it all inside `'linalgg'19:15
@lambdayOXPHOS: we can merge your patch then19:16
@lambday%s/linalgg/linalg/g19:16
@lambdayOXPHOS: also, please add documentation (even if just 1 line) to each class and each member :)19:17
@lambdaylisitsyn: HeikoS: do we still need to put a c++11 guard around things?19:18
@HeikoSlambday: yes19:18
lisitsynlambday: no idea19:18
lisitsyn:D19:18
@lambdayok19:18
@HeikoSyet we do19:18
@lambdayOXPHOS: ^19:18
@HeikoSI wish I had some time19:18
@HeikoSlambday: so linalg is c++11 only atm right?19:19
@HeikoSbut it always was so thats ok19:19
@lambdayHeikoS: it doesn't have to be.. it's just the usage of unique_ptr at this monent19:19
@HeikoSwe will change soon19:19
@lambdayOXPHOS: maybe you can use shogun::Unique instead of std::unique_ptr for the sg_linalg?19:19
@lambdaylisitsyn: can we please have the API for shogun::Unique similar to that of std::unique_ptr :D19:26
lisitsynwhat do you miss?19:26
@lambdaylisitsyn: get() maybe19:27
lisitsynwhy?19:27
@lambdayso we can pass the ptr around, keeping the ownership with somebody else19:27
lisitsyndoesn't sound defensive enough ;)19:28
lisitsynwhat do you need pointer to?19:28
@lambdaythinking.19:28
sanujlisitsyn, thanks for the comments :)19:29
@lambdaylisitsyn: how do I pass that thing as a param?19:30
@lambdayref?19:30
lisitsynyes19:30
lisitsynyou can't copy it19:30
@lambdayyeah that makes sense..19:30
@lambdaylisitsyn: if you have a moment, can you please comment on this : https://github.com/shogun-toolbox/shogun/pull/3230/files19:32
lisitsynahh one more things19:32
lisitsynlambday: unique always creates object19:33
lisitsynso it won't work for abstract classes19:33
@lambdaylisitsyn: ah19:33
lisitsynlambday: well we can patch it19:33
lisitsyn;)19:33
@lambdaylisitsyn: wait, how do I set things inside an obj?19:33
lisitsyn->19:33
@lambdayah no19:34
@lambdayokay I see..19:34
@lambdayno I meant that what if I just need to set something to an obj that takes a unique19:34
@lambdaybut then realized that it would be stupid19:34
@lambdayit's shared by definition19:35
lisitsynyes19:35
@lambdaylisitsyn: so setters should always use `some'19:36
lisitsynyeap19:36
@lambdaylisitsyn: cool.. then the only thing I'd miss is to use a ptr to an abstract class19:37
@lambdaynot sure whether get() would ever be required19:38
lisitsynit could be useful.. not sure19:38
@lambdayokay19:41
@lambdayanother thing, I have a T*, I want to create a unique from it19:41
@lambdaylisitsyn: okay another thing. maybe having a function like for some would be useful.. that takes ctor args19:44
lisitsynyeah it's just not the same unique I was thinking about19:44
@lambdaylisitsyn: this one always calls the no-arg ctor19:45
lisitsynok got it19:45
lisitsynlambday: have to go now I will thnik how to patch it19:45
sanujlisitsyn, wanted to ask you one things19:45
sanujthing*19:45
@lambdaylisitsyn: okay thanks man19:45
lisitsynsanuj: yes?19:45
sanujlisitsyn, this is my code of setters/getters19:46
sanujhttps://github.com/sanuj/shogun/commit/cdbe259939fd33561ed4cf728103c415ae65b50319:46
sanujthis works when i only build cpp19:46
sanujunit tests pass19:46
sanujbut when i build with pythonmodular =0n19:46
lisitsyn.. what when you build? :)19:47
lisitsynsorry have to go will answer once get back home19:47
sanujlisitsyn, here is the error http://pastebin.com/EH7GTqGD19:48
sanujlisitsyn, i'm going to sleep19:48
@HeikoSlisitsyn:  https://github.com/shogun-toolbox/shogun/pull/3244/files19:48
sanujwill check logs for your answer19:48
-!- sanuj [~sanuj@117.204.255.138] has quit [Remote host closed the connection]19:50
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun19:59
shogun-notifier-shogun: Heiko Strathmann :develop * d866849 / examples/meta/generator/targets/java.json: https://github.com/shogun-toolbox/shogun/commit/d8668498db42736637fe31c2c590130c014c106519:59
shogun-notifier-shogun: import all ever used classes rather than only interfaced ones19:59
@HeikoSOXPHOS: hi20:00
@HeikoStry another rebase20:00
@HeikoSI fixed the last problem20:00
shogun-notifier-shogun: Ariane Paola Gomes :develop * 0250454 / src/shogun/distance/TanimotoDistance.h: https://github.com/shogun-toolbox/shogun/commit/0250454a4d77c848713a2ec66593aa840680f8e420:01
shogun-notifier-shogun: Fixes #3261 Error in LaTeX formula for TanimotoDistance.20:01
shogun-notifier-shogun: Heiko Strathmann :develop * 207d620 / src/shogun/distance/TanimotoDistance.h: https://github.com/shogun-toolbox/shogun/commit/207d6205618d0b98fab0285aaa14e6dc70fdb8f420:01
shogun-notifier-shogun: Merge pull request #3262 from arianepaola/fix_326120:01
shogun-notifier-shogun:20:01
shogun-notifier-shogun: Fixes #3261 Error in LaTeX formula for TanimotoDistance.20:01
@HeikoSarianepaola: hey20:03
@HeikoScan I suggest something20:04
arianepaolahi HeikoS20:04
@HeikoSmany of the cookbooks you sent have similar (minor) issues that need to be addressed20:04
@HeikoSI will only comment on the first20:04
@HeikoSand then you will know how to generalise to the others20:04
arianepaolaok20:04
arianepaolathat's fine20:05
@HeikoS(that is also a reason why we wanted to get them coming continuously rahter than one batch)20:05
@HeikoSalso they are blocking travis quite a bit20:05
@HeikoSSo I suggest to close them, you can store them locally, and then send them one after another?20:05
@HeikoSthat is, only send a new one once old is merged?20:05
@HeikoSwould that be ok=?20:05
arianepaolahmm, any other way to leave them open, or reopen the PR?20:07
arianepaolae.g. close now, but not delete the PR and then reopen?20:07
@HeikoSarianepaola: thats good as well20:07
@HeikoSyou will need to change similar things on all of them20:07
@HeikoSbut please dont change all at once20:07
@HeikoSjust the one I comment on20:07
arianepaolaok20:08
@HeikoSand then the next one you send, you can put these things in directly, and I comment on different things (or merge directly)20:08
@HeikoSjust to get this more efficient for you20:08
@HeikoSbecause iterating over one already is a lot of work,20:08
@HeikoSyou dont wanna apply all the changes to all, and then change again, see what I mean?20:08
arianepaolaok20:08
arianepaolaso, what I can do now is closing the PRs, but they do not get deleted right?20:09
shogun-buildbotbuild #44 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/44  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>20:09
@HeikoSarianepaola: they dont20:09
arianepaolathen I can updated more changes over time and push or even force push to my user20:09
@HeikoS(I think)20:09
@HeikoSyep20:09
arianepaolaand then reopen the PR20:09
@HeikoSI just commented on the first distance one20:09
arianepaolawill try closing and reopening one ow20:10
arianepaolaok20:10
@HeikoSwill ignore the others for now20:10
arianepaolasure20:10
@HeikoSand comment on subsequence thing you sent a while ago20:10
arianepaolayes20:10
shogun-buildbotbuild #2905 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2905  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>20:11
arianepaolaHeikoS: just checked20:11
arianepaolaSee https://github.com/shogun-toolbox/shogun/pull/326320:11
arianepaolaI can reopen, close, reopen :-)20:11
@HeikoScool :)20:12
OXPHOSHeikoS, lambday: hey im back20:12
OXPHOSwent out for lunch caught middle in the rain. i hate rain20:13
shogun-buildbotbuild #45 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/45  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>20:13
OXPHOSnever thought about visiting london20:13
shogun-notifier-shogun: Ariane Paola Gomes :develop * 64d24e0 / cmake/FindSphinx.cmake: https://github.com/shogun-toolbox/shogun/commit/64d24e0b11bca092b0c385938b0490ce34f5738020:16
shogun-notifier-shogun: Fixes #3231 Cookbook generation error using Sphinx from PyPI.20:16
shogun-notifier-shogun: Heiko Strathmann :develop * d270764 / cmake/FindSphinx.cmake: https://github.com/shogun-toolbox/shogun/commit/d270764950be326a42282999094a5d02537d367720:16
shogun-notifier-shogun: Merge pull request #3232 from arianepaola/fix_323120:16
shogun-notifier-shogun:20:16
shogun-notifier-shogun: Fixes #3231 Cookbook generation error using Sphinx from PyPI.20:16
@HeikoSOXPHOS: haha dont come here then20:17
shogun-notifier-shogun: Ariane Paola Gomes :develop * de6e23a / examples/meta/generator/parse.py: https://github.com/shogun-toolbox/shogun/commit/de6e23ab620d2d2b6ee624a679bb5289c79a395720:18
shogun-notifier-shogun: Fixes #3254 Cookbook generation crashes using empty meta example files.20:18
shogun-notifier-shogun: Heiko Strathmann :develop * eb74aaa / examples/meta/generator/parse.py: https://github.com/shogun-toolbox/shogun/commit/eb74aaa98185681cf74f1ad34d54a679642d4e7a20:18
shogun-notifier-shogun: Merge pull request #3256 from arianepaola/fix_325420:18
shogun-notifier-shogun:20:18
shogun-notifier-shogun: Fixes #3254 Cookbook generation crashes using empty meta example files.20:18
shogun-buildbotbuild #704 of trusty - libshogun - viennacl is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/trusty%20-%20libshogun%20-%20viennacl/builds/704  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>20:19
shogun-buildbotbuild #705 of trusty - libshogun - viennacl is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/trusty%20-%20libshogun%20-%20viennacl/builds/70520:20
shogun-notifier-shogun: Ariane Paola Gomes :develop * 20b2844 / examples/meta/generator/targets/cpp.json: https://github.com/shogun-toolbox/shogun/commit/20b28443b228d2ecffcb6eb6dfbd4b4f81a2c1d620:22
shogun-notifier-shogun: Make RealDistance type available within cookbooks.20:22
shogun-notifier-shogun: Heiko Strathmann :develop * 8616159 / examples/meta/generator/targets/cpp.json: https://github.com/shogun-toolbox/shogun/commit/8616159902ab2537cb145ba09ab1fdca9124121920:22
shogun-notifier-shogun: Merge pull request #3260 from arianepaola/feature/cookbook_type_realdistance20:22
shogun-notifier-shogun:20:22
shogun-notifier-shogun: Make RealDistance type available within cookbooks.20:22
shogun-notifier-shogun: Ariane Paola Gomes :develop * 547fbef / doc/cookbook/source/index.rst: https://github.com/shogun-toolbox/shogun/commit/547fbef9a353ca5d291ec9f9eec782134c4be5ad20:24
shogun-notifier-shogun: Adds Distance listing for Cookbook generation.20:24
shogun-notifier-shogun: Heiko Strathmann :develop * 01efdce / doc/cookbook/source/index.rst: https://github.com/shogun-toolbox/shogun/commit/01efdceb0017ccecbd23c9ee4dc3812af98a975920:24
shogun-notifier-shogun: Merge pull request #3263 from arianepaola/feature/cookbook_index_add_distance20:24
shogun-notifier-shogun:20:24
shogun-notifier-shogun: Adds Distance listing for Cookbook generation.20:24
@HeikoSSaurabh7: jo20:27
@HeikoSso, now some time to check stuff20:27
arianepaolaHeikoS: The crash happens earlier when parsing the files:  https://github.com/shogun-toolbox/shogun/pull/325520:27
@HeikoSarianepaola: I see,20:28
@HeikoSok then, remove mine, add yours20:28
@HeikoScan you add the rel_dir before the filename?20:28
arianepaolae.g. when there is an error in the json file. it is good to know20:28
@HeikoSlike20:28
OXPHOSlambday: may i ask the idea for unique_ptr now? use unique or some or add C++11 flag?20:28
@HeikoSclassifier/linera_svm.sg20:28
@HeikoSarianepaola: ah wait this prints json?20:29
arianepaolayes20:29
@HeikoSoutput is20:29
@HeikoSTranslating file python.json20:29
@HeikoSarianepaola: what is the output locally when you do "make meta_examples"20:30
@HeikoSmine is20:30
@HeikoSGenerating examples from meta-language20:30
@HeikoSTranslating gaussian_processes/gaussian_process_regression.sg20:30
@HeikoSTranslating regression/kernel_ridge_regression.sg20:30
@HeikoS...20:30
arianepaolaI also get this output20:31
OXPHOSlambday: or just use sg.unique for init.cpp and keep others the same?20:31
arianepaolain addition, if I have an error, e.g in the cpp.json20:31
arianepaolait shows this, that the file cannot be parsed20:31
@lambdayOXPHOS: hey.. well, you can just keep the std:: as well20:32
@lambdayOXPHOS: but then you have to guard your code with the c++11 macros20:32
@lambdayOXPHOS: oh one more thing..20:32
@HeikoSarianepaola: only if error?20:33
@HeikoSor always?20:33
@HeikoSPR to me seems always20:33
arianepaolaalways20:33
@HeikoSwhat about you put a try around it20:33
@HeikoSand in case of an exception, you print20:33
arianepaolaok20:33
arianepaolagood20:33
@HeikoSand then print the usual stack trace20:34
@HeikoSkeeping the output cleaner20:34
@lambdayOXPHOS: can you please make m_cpubackend and m_gpubackend to shared_ptrs?20:34
@lambdaysince those can be set from outside20:34
@lambdayOXPHOS: inside SGLinalg class20:35
shogun-buildbotbuild #2898 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb3%20-%20modular_interfaces/builds/289820:35
OXPHOSlambday: yes!!!!20:35
@lambdayOXPHOS: cool! thanks20:35
OXPHOSlambday: may i ask, if shogun fully supports c++11, is there any advantage to have our own smart pointers like some and unique?20:36
@lambdayOXPHOS: good question. well, I'm not sure!20:37
@lambdaymaybe it will help us with modular interfaces..20:37
@lambdayalso, as long as we have the SG_REF/UNREFs, it makes sense to use our internal things20:38
OXPHOS(smash them all20:39
OXPHOSi said nothing20:39
@HeikoSOXPHOS: hehe ;)20:40
@HeikoSthis is your project20:41
@HeikoSsmashing things20:41
@HeikoSand making them nice20:41
@HeikoSOXPHOS: btw http://buildbot.shogun-toolbox.org/builders/deb3%20-%20modular_interfaces20:41
@HeikoSjava meta examples work again20:41
@HeikoSand now static methods also will work20:41
@HeikoSand Math20:41
OXPHOSHeikoS: cool thanks!20:43
@HeikoSOXPHOS: you can also tell sanukj20:43
arianepaolaHeikoS: thanks for merging and comments20:43
@HeikoSsanuk20:43
@HeikoSarianepaola: welcome, let me know how it goes20:44
arianepaolaok20:44
OXPHOSHeikoS: also the other two cookbooks are failing because of the gmm. themselves are actually fine.20:44
@HeikoSOXPHOS: link?20:44
OXPHOSHeikoS: https://github.com/shogun-toolbox/shogun/pull/324220:45
OXPHOSHiekoS: the other one needs some polish20:45
@HeikoSchecking20:45
@HeikoSOXPHOS: any idea why the gmm fails?20:46
OXPHOSHeikoS: yes20:48
@HeikoSworks locally for me20:48
OXPHOSwhat?20:48
@HeikoSanyways, Ill just merge as the fail is unrelated :)20:48
OXPHOSbecause gmm integration test dataset is merged and pulled20:48
@HeikoSits probalby order of data merge20:49
@HeikoSyeah20:49
OXPHOSbut gmm is not updated20:49
shogun-notifier-shogun: OXPHOS :develop * edc55d7 / / (4 files): https://github.com/shogun-toolbox/shogun/commit/edc55d70307b8d051eca83e167ce1ff117e78b7c20:49
shogun-notifier-shogun: cookbook page20:49
shogun-notifier-shogun: Heiko Strathmann :develop * 83970a7 / / (4 files): https://github.com/shogun-toolbox/shogun/commit/83970a7188a8f6aeaa9c1afa4f5ad9a0da080b6620:49
shogun-notifier-shogun: Merge pull request #3242 from OXPHOS/cookbook_mcll20:49
shogun-notifier-shogun:20:49
shogun-notifier-shogun: cookbook - multiclass_linearmachine20:49
@HeikoStada20:49
shogun-buildbotbuild #34 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/34  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>20:49
@HeikoSOXPHOS: ok done20:50
@HeikoSI'm off for today!20:50
@HeikoSsee you all20:50
arianepaolabye HeikoS20:50
@HeikoSbye :)20:51
shogun-buildbotbuild #46 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/46  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>20:51
OXPHOSHeikoS: thx bye!20:51
shogun-buildbotbuild #2906 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2906  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>20:53
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 272 seconds]20:55
shogun-buildbotbuild #708 of trusty - libshogun - viennacl is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/trusty%20-%20libshogun%20-%20viennacl/builds/708  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com>20:56
OXPHOSlambday: /** Not implemented copy constructor */ Unique(const Unique&); /** Not implemented assignment operator */ Unique& operator=(const Unique& other);21:09
@lambdayOXPHOS: you're not allowed to copy it21:09
OXPHOSlambday: I don't think I can separate the declare and definition of a unique..21:09
@lambdayOXPHOS: yeah not possible21:09
@lambday(for now)21:10
OXPHOSlambday: but in init.cpp they're separate21:10
OXPHOSmost of the cases they're..21:10
@lambdayOXPHOS: well, keep it as it is then21:11
@lambdayjust guard the entire thing with cxx11 check21:11
OXPHOSlambday: kk21:11
@lambdayOXPHOS: but do make the members inside SGLinalg shared ptrs21:11
@lambdayyou won't need to use that std::move thing21:12
OXPHOSlambday: so glad to know that!21:12
@lambdayxD21:12
shogun-buildbotbuild #3781 of deb1 - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun/builds/3781  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com>21:23
shogun-buildbotbuild #35 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/35  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Ariane Paola Gomes <arianepaola@users.noreply.github.com>21:30
OXPHOSlambday: hey I just pushed https://github.com/shogun-toolbox/shogun/pull/323022:50
arianepaolabye everyone, until tomorrow :-)23:19
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]23:49
--- Log closed Thu Jun 09 00:00:32 2016

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!