Open in new window / Try shogun cloud
--- Log opened Tue Jul 19 00:00:28 2016
-!- HeikoS1 [] has joined #shogun00:01
-!- HeikoS [] has quit [Read error: Connection reset by peer]00:01
-!- HeikoS1 [] has quit [Quit: Leaving.]00:16
-!- travis-ci [] has joined #shogun00:59
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 []00:59
-!- shogun-notifier- [] has quit [Quit: transmission timeout]02:44
-!- OXPHOS [171b5289@gateway/web/freenode/ip.] has joined #shogun04:25
-!- theeviltwin___ [b6442163@gateway/web/freenode/ip.] has joined #shogun05:09
theeviltwin___hi, anyone there?05:10
-!- shogun-notifier- [] has joined #shogun05:20
shogun-notifier-shogun: Wu Lin :develop * f13ae56 / / (85 files):
shogun-notifier-shogun: refactor OPT 105:20
shogun-notifier-shogun: Wu Lin :develop * b72a0c2 / / (85 files):
shogun-notifier-shogun: Merge pull request #3380 from yorkerlin/refactoropt105:20
shogun-notifier-shogun: refactor OPT 105:20
shogun-buildbotbuild #1302 of precise - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Wu Lin <>, Wu Lin <>05:31
shogun-buildbotbuild #2944 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at  blamelist: Wu Lin <>, Wu Lin <>05:38
shogun-buildbotbuild #82 of xenial - libshogun is complete: Failure [failed test]  Build details are at  blamelist: Wu Lin <>, Wu Lin <>06:09
-!- sanuj [~sanuj@] has joined #shogun07:39
-!- sanuj [~sanuj@] has quit [Ping timeout: 240 seconds]07:51
-!- sanuj [~sanuj@] has joined #shogun08:04
-!- shogun-notifier- [] has quit [Quit: transmission timeout]08:20
shogun-buildbotbuild #31 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at  blamelist: Wu Lin <>, Wu Lin <>08:29
-!- theeviltwin___ [b6442163@gateway/web/freenode/ip.] has quit [Ping timeout: 250 seconds]08:32
-!- sanuj [~sanuj@] has quit [Ping timeout: 260 seconds]09:02
-!- OXPHOS [171b5289@gateway/web/freenode/ip.] has quit [Ping timeout: 250 seconds]09:07
-!- sanuj [~sanuj@] has joined #shogun09:53
-!- sanuj [~sanuj@] has quit [Ping timeout: 240 seconds]10:16
-!- OXPHOS [171b5289@gateway/web/freenode/ip.] has joined #shogun10:36
OXPHOSwiking: hey! for the serialization, I split the enum into container types and primitive types. But i didn10:40
OXPHOSt find a way Heiko mentioned that didn't have to list all possible combinations10:41
OXPHOSthe file I have now:
-!- HeikoS [] has joined #shogun10:52
-!- mode/#shogun [+o HeikoS] by ChanServ10:52
OXPHOSHeikoS: hey! I split the enum into container types and primitive types. But i have to go through all container-primitive combinations. I didn't find a good way to avoid that10:56
OXPHOSHeikoS: update:
@HeikoSwhere do you have to go through that?10:57
@HeikoSOXPHOS: so these here10:57
@HeikoSare not what I meant10:57
@HeikoSprimitive type should not have SGVECTOR anymore10:57
@HeikoSas that is already dealt with in container typoe10:57
OXPHOSHeikoS: oh i forgot to remove them10:57
OXPHOSHeikoS: i mean during the save, I have to do ar(*(reinterpret_cast<SGVector<primitivetype>*>(storage)))10:58
OXPHOSkind of stuff10:58
OXPHOSHeikoS: method from line33110:58
OXPHOSHeikoS: They're commented out because I was testing different methods but none worked10:59
@HeikoSI dont understand the problem10:59
OXPHOSHeikoS: so it's supposed to be sth. like this, with ContainerType and PrimitiveType11:00
@HeikoSsth. like what?11:01
@HeikoSthats exactly what I meant11:01
@HeikoSrather than storing all the combinations, store them only for container and primitive11:01
OXPHOSand in the save, we have rules for primitive types, and the most ideal (easiest) way is what I had in Line337-36011:02
OXPHOSwe process primitive types and generate a general rule11:03
OXPHOSand apply it to the container types11:03
OXPHOSso we don't have to go through every single container<primitive> combination11:03
@HeikoSyes exactly11:04
OXPHOSI didn't find a way to do it..11:04
@HeikoSso only go through all primitive types and container types once each11:04
OXPHOSbecause there's a cast step reinterpret_cast<container<primitive type>*>(storage)11:04
@HeikoSI think you will need some function11:04
@HeikoSthat turns the two enums into the type you want11:05
@HeikoSbut not sure still what is the problem11:05
OXPHOSturns the two enums into the type11:05
OXPHOSI can only think of typedef11:05
OXPHOSwhich is not very friendly11:06
OXPHOSI am currently having a helper struct defined in
OXPHOStrying to enable the redefinition of typedef11:07
@HeikoSOXPHOS: maybe if it is too much hassle, leave it for now11:07
@HeikoSand do the combinations explicitly11:07
@HeikoSwe can ask lambday later11:08
@HeikoShe knows more about this that I do11:08
OXPHOSHeikoS: np11:08
@HeikoSOXPHOS: btw re the API11:09
@HeikoSwe want the same interface as save_serializable11:09
@HeikoSCSGOBject::save_serializable that is11:09
@HeikoSi.e. it either takes a file object11:09
@HeikoSor a filename11:09
OXPHOSHeikoS: okay11:09
@HeikoSfilename and enum for filetype would be ok here I guess11:09
@HeikoSOXPHOS: the thing is this should work from SWIG11:09
@HeikoSwe can have these other methods internally, but the Archive is not typemapped, so we cannot pass it through the modular interfaces11:10
OXPHOSHeikoS: sure. so the key is wrapping the serialization with filename and enum for filetype arguments11:11
OXPHOSHeikoS: also the ViennaCL rowwise sum uses ocl kernel. Should I do that or leave it unimplemented for now?11:13
@HeikoSOXPHOS: yes wrapping exactly, it is just some convenience method for SWIG users11:13
@HeikoSOXPHOS: why not?11:13
OXPHOSHeikoS: okay i ll do it11:14
OXPHOSHeikoS: once you mentioned it might be slow but maybe for that particular purpose11:14
@HeikoSOXPHOS: ah Isee11:34
@HeikoSanother discussion for lambday11:34
@HeikoSI think it is a bit weird to compile a kernel on the fly11:34
@HeikoSsince it takes time11:34
-!- lambday [8028b10a@gateway/web/freenode/ip.] has joined #shogun12:21
-!- mode/#shogun [+o lambday] by ChanServ12:21
@HeikoSSaurabh7: jojo12:43
@HeikoSlambday: jo! OXPHOS had some questions12:43
@lambdayHeikoS: yo12:43
Saurabh7HeikoS: yo12:44
@lambdayOXPHOS: hey!12:44
@HeikoSSaurabh7: just saw the update12:44
@HeikoSso you use omp now12:44
Saurabh7oh that, yes just trying it12:44
OXPHOSlambday: hey! yes! kinda hard to describe..12:44
@HeikoSmakes code quite a bit easier I guess12:44
Saurabh7doesnt break anything on local12:45
@lambdayOXPHOS: give it a shot!12:45
@HeikoSat the cost of not being able to stop it, but I think that should be ok12:45
@HeikoSSaurabh7: needs unit test!12:45
@HeikoSSaurabh7: what about liblinear?12:45
Saurabh7HeikoS: so how did the pthread one stop, i dont get it12:45
@HeikoSSaurabh7: one can stop pthreads12:45
@HeikoSwith CSignal12:45
OXPHOSlambday: I am trying to combine the two enums into one type12:45
OXPHOSlambday: the final step would be reinterpret_cast<container<primitive type>*>(storage), where container comes from CT_* and primitive type comes from PT_*12:46
Saurabh7HeikoS: Liblinear I made changes, looks like everyhting is ok12:46
@HeikoSis it mergable already?12:47
@HeikoSSaurabh7: is it faster?12:47
@lambdayOXPHOS: what are you trying to achieve here?12:47
@lambdayOXPHOS: can you just explain very briefly?12:47
Saurabh7yep, I will add that benchmark12:48
OXPHOSlambday: I am archiving any, which needs reinterpret_cast<>()12:48
@lambdayOXPHOS: I see!..12:48
OXPHOSlambday: and for each container type, like sgvector, it can take many primitive type like <typename T>12:49
OXPHOSlambday: Ideally I don't have to list them all12:49
@HeikoSSaurabh7: commented a bit more on the PR12:49
@HeikoSlambday: ill come in now, can explain12:50
@HeikoSsee you soon12:50
-!- HeikoS [] has quit [Quit: Leaving.]12:50
@lambdayOXPHOS: so enum is the way to go for that?12:54
OXPHOSlambday: so far yes..I didn't come up with other way12:54
@lambdayOXPHOS: why differentiate between PT_INT32 and PT_SGVECTOR_INT32?
OXPHOSlambday: yeah PT_SGVECTOR_INT32 should be removed..12:57
@lambdayso basically what you need is to create a trait that, when given the container type and the primitive type, gives you the actual type12:57
@lambdayOXPHOS: ok I got the scenario.. now what is the question :D12:58
@lambdaythe trait doesn't work?12:59
OXPHOSlambday: it didn't work..I was trying to wrap a typedef in a struct12:59
OXPHOSlambday: typedef doesn't seem to work at all..but I can't come up with other way to store type13:00
@lambdayOXPHOS: that's valid13:00
@lambdaytypedef/using both should work13:00
@lambdayOXPHOS: what seems to be the error?13:01
OXPHOSlambday: oh in one approach I need to redefine the same `typedef` so container can take the same variable regardless of the real primitive type, which didn't work.13:01
OXPHOSlambday: and now I redefined it in struct, but I cannot use it from the Any class (save method)13:02
OXPHOSbecause it's not const13:02
OXPHOSlambday: like this:
@lambdayOXPHOS: yeah template args don't work if they aren't constexpr13:04
OXPHOSlambday: yeah..kinda stuck here13:04
@lambdayOXPHOS: I am not sure I get the problem right.. so where do you need to redefine same `typedef`13:06
OXPHOSlambday: or whatever method that can original idea was13:07
OXPHOSswitch (m_datatype.e_primitivetype) { case serial::EnumPrimitiveType::PT_INT_32:typedef int32_t primitivetype; break; case...13:08
OXPHOSso for switch (m_datatype.e_containertype)13:08
OXPHOSI can call ar(*(reinterpret_cast<primitivetype*>(storage))); break;13:08
OXPHOSfor whatever primitive type13:08
OXPHOSas they're all typedef-ed as primitivetype13:08
@lambdayOXPHOS: yeah it it's not constexpr, that's the only way you can deal with it AFAIK13:09
@lambdayyeah it cannot be constexpr in this case, cause it's setting via a template function in DataType13:10
@lambdayOXPHOS: can the13:11
@lambdayOXPHOS: can the policy itself deal with this?13:12
OXPHOSlambday: I don't think so..the type is converted to string. so it can compare whether two types are the same. but kinda hard to map back to type13:12
OXPHOSalso it stores: int, double, shogun::sgvector<int>13:13
OXPHOSsome info are missing13:13
@lambdayOXPHOS: oh select_policy<T> returns a base-ptr so the type-info is gone.. I see13:14
@lambdayyeah you need enums13:14
@lambdayand in that case, switch-case is the option that comes to mind13:15
@lambdaybut wait.. you cannot do typedef int32_t primitive_type in case scope I assume13:15
@lambdayOXPHOS: so here's what I'd do.. write a template function for the actual *cereal_save*.. and from the wrapper, I call that function inside switch case13:17
OXPHOSlambday: I didn't get it..13:18
OXPHOSlambday: typedef is global. I can't do it case wisely13:18
@lambdayOXPHOS: ok let me try something13:21
@lambdayOXPHOS: there?14:16
@lambdayOXPHOS: sorry I couldn't think of anything better than this -
OXPHOSlambday: hey thanks!14:33
OXPHOSlambday: yeah...I think in this way we have to list out every combination..14:34
-!- HeikoS [] has joined #shogun14:43
-!- mode/#shogun [+o HeikoS] by ChanServ14:43
-!- c4goldsw [82e2e609@gateway/web/cgi-irc/] has joined #shogun15:03
-!- c4goldsw [82e2e609@gateway/web/cgi-irc/] has quit [Client Quit]15:06
-!- c4goldsw_ [82e2e6c8@gateway/web/cgi-irc/] has joined #shogun15:06
c4goldsw_ping OXPHOS (I lost internet connection)15:06
OXPHOSlol it's back15:06
c4goldsw_What's back?15:07
c4goldsw_My connection?15:07
c4goldsw_Yes.  How else could I talk to you?15:07
c4goldsw_Was going to ask something but figured out my own answer.15:08
c4goldsw_oops what?15:09
OXPHOSlol nothing. seems the connection is helping you thinking15:13
c4goldsw_Lol, ok.15:13
c4goldsw_ping HeikoS15:23
c4goldsw_OXPHOS, still around?  I have some questions about gmock15:23
@HeikoSc4goldsw_: hi15:30
c4goldsw_Hey HeikoS, I've made the tests for using the templated LARs with types that should work.15:31
@HeikoSc4goldsw_: can you give me a link=?15:31
c4goldsw_I'm just asking a quesiton, I'm about to push after fixing something15:31
c4goldsw_Because I expect it to throw an exception, what should I use in the test cases?  I've found this:
-!- shogun-notifier- [] has joined #shogun15:32
shogun-notifier-shogun: Esben Sorig :feature/meta_vector_matrix * 8b4396d / examples/meta/ (12 files):
shogun-notifier-shogun: Differentiate matrix/vector accessing vs assigning15:32
shogun-notifier-shogun: Heiko Strathmann :feature/meta_vector_matrix * d1c3918 / examples/meta/ (12 files):
shogun-notifier-shogun: Merge pull request #3381 from sorig/feature/meta_vector_matrix15:32
shogun-notifier-shogun: Differentiate matrix/vector accessing vs assigning15:32
c4goldsw_Problem solved, will update the PR in a few minutes.15:32
shogun-notifier-shogun: Heiko Strathmann :feature/meta_vector_matrix * c4b2327 / examples/meta/generator/targets/octave.json:
shogun-notifier-shogun: fix octave matrix access15:37
@HeikoSc4goldsw_: this is also used in sanujs tests15:38
@HeikoSof any15:38
@HeikoShe expects some logic error to be thrown15:38
c4goldsw_HeikoS pushed15:47
shogun-notifier-shogun: Heiko Strathmann :feature/meta_vector_matrix * ba494be / examples/meta/generator/targets/java.json:
shogun-notifier-shogun: fix vector/matrix instantiation15:49
shogun-notifier-shogun: Heiko Strathmann :feature/meta_vector_matrix * bfb3393 / examples/meta/src/tests/,examples/meta/src/tests/
shogun-notifier-shogun: temporarily comment out literal assignment for boolean (as it breaks java modular)15:49
shogun-notifier-shogun: Heiko Strathmann :feature/meta_vector_matrix * ca0597b / examples/meta/generator/targets/cpp.json:
shogun-notifier-shogun: mini fix complex vector15:49
c4goldsw_HeikoS pushed again to fix an accidental whitespace change15:50
@HeikoSc4goldsw_: git a link?15:50
c4goldsw_HeikoS: Please ping me when you're finished.16:01
@HeikoSc4goldsw_: done16:03
@HeikoSit is good16:03
@HeikoShow it should be from outside16:03
@HeikoScan be merge once you cleaned it up a bit16:03
@HeikoSnothing to moan about anymore :)16:03
c4goldsw_Btw, where's travis?16:03
c4goldsw_It's not testing it.16:03
c4goldsw_HeikoS: ?16:06
-!- OXPHOS [171b5289@gateway/web/freenode/ip.] has quit [Ping timeout: 250 seconds]16:28
@HeikoSc4goldsw_: jo, sorry16:50
@HeikoSwhere is travis?16:50
@HeikoSCHeck the build history of it16:51
@HeikoSit might be busy16:51
-!- travis-ci [] has joined #shogun16:51
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:51
c4goldsw_HeikoS: okay - thanks for checking over the PR.  I'll make sure that I've removed all the white space changes  / anything else in a final commit.16:58
-!- c4goldsw_ [82e2e6c8@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]17:02
-!- c4goldsw [82e2e6c8@gateway/web/cgi-irc/] has joined #shogun17:04
c4goldswHeikoS: One more thing - do you understand why I'm using "_t" to indicate that something is templated, as opposed to an untemplated counterpart?17:05
-!- c4goldsw [82e2e6c8@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]17:09
-!- c4goldsw [82e2e6c8@gateway/web/cgi-irc/] has joined #shogun17:13
-!- c4goldsw [82e2e6c8@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]17:24
-!- sanuj [~sanuj@] has joined #shogun17:47
-!- sanuj [~sanuj@] has quit [Client Quit]17:48
-!- travis-ci [] has joined #shogun18:07
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 []18:07
-!- shogun-notifier- [] has quit [Quit: transmission timeout]18:49
-!- HeikoS [] has quit [Quit: Leaving.]18:59
-!- HeikoS [] has joined #shogun18:59
-!- mode/#shogun [+o HeikoS] by ChanServ18:59
-!- HeikoS [] has quit [Ping timeout: 250 seconds]19:08
-!- shogun-notifier- [] has joined #shogun20:59
shogun-notifier-shogun: lambday :feature/bigtest * 047ec44 / / (6 files):
shogun-notifier-shogun: added variance under alternative for quadratic time mmd20:59
shogun-notifier-shogun: lambday :feature/bigtest * 813ef21 / src/shogun/statistical_testing/internals/mmd/VarianceH1.h:
shogun-notifier-shogun: prepare variance h1 for multikernel processing21:22
-!- lambday [8028b10a@gateway/web/freenode/ip.] has quit [Quit: Page closed]21:23
-!- travis-ci [] has joined #shogun21:46
travis-ciit's lambday's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []21:46
-!- travis-ci [] has joined #shogun22:22
travis-ciit's lambday's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []22:22
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/] has joined #shogun22:44
--- Log closed Wed Jul 20 00:00:30 2016