irclog2html for #brlcad on 20070207

00:07.55 brlcad mac-: there is fairly extensive introductory material on the main website: http://brlcad.org
00:08.17 mac- ok
00:08.21 brlcad ah, oop.. thx louipc :) I should finish reading first..
00:08.28 mac- do you know any good CAD for Linux ?
00:09.17 brlcad er, you mean other than brl-cad?
00:09.26 mac- for drafting
00:09.33 brlcad ah.. CADD
00:09.38 mac- similar to AutoCAD
00:10.06 brlcad the only readily available one is qcad
00:10.22 mac- uhm
00:10.43 brlcad (free at least)
00:10.50 mac- i downloaded GraphiteOne, but i couldn`t launch it
00:10.51 brlcad and with any production quality
00:11.19 mac- and their support hasn`t reply for my questions
00:12.47 brlcad ah, I don't follow the commercial products that closely, even less those specific to drafting, even further less those that aren't open source
00:13.05 brlcad (sorry, just not our concern/interest)
00:13.21 mac- ok
00:13.24 louipc I saw one called FreeCAD on sourceforge, I haven't tried it yet
00:13.57 brlcad freecad is mildly useful, but they're even farther from production quality than qcad
00:14.03 louipc ouch
00:14.55 brlcad it just really takes too much time to build up the foundation for a CAD or CADD or CAM system to achieve production quality for generalized use
00:15.12 brlcad might find a tool or two specialized
00:15.56 brlcad but freecad and qcad and pythoncad and others try to cater to common audiences, and have a excessively major hill to fight
00:17.18 louipc yeah definitely
00:17.44 brlcad that's one of the aspects where brl-cad shines -- even if you remove mged and the gui, there's roughly 100+ man-years of development
00:18.40 dtidrow_work and at least 25 real years of development behind it
00:18.59 louipc do you think you can achieve a professional level GUI with tcl/tk?
00:32.04 ``Erik given the # of gui's professionally developed in tcl/tk... probably...
00:46.17 brlcad louipc: you can, and even brl-cad's archer shows a lot of what is possible in terms of a better gui more in line with several of the professional system interfaces
00:46.37 brlcad that said, our next generation gui probably won't be in tcl/tk
00:53.56 bjorkBSD but ... i thought brl-cad *was* professional!
00:54.21 bjorkBSD brilly wears a uniform no?
01:00.38 brlcad a professional-quality gui? no, that's one of the things it does lack .. in production professional use with professional-quality engine facilities, yes
01:02.23 bjorkBSD what will the next gui be in?
01:03.54 bjorkBSD in the beginning was the CL, and lo, man took one look at the CLI and thought it was bad. and man created the mouse to eat the CL but verily verily i say unto ye, the CLI served as a useful barrier to entry and kept the waifs away :D
01:08.40 louipc @brlcad what are you considering for the next GUI?
01:10.14 louipc bjorkBSD: hehe I find the CLI can actually be more efficient if you know what you're doing, and it is well designed
01:12.11 bjorkBSD yeah. i hear vista's reintroduced it :D
01:12.38 bjorkBSD as far as command line completion goes.
01:12.54 louipc oh tab completion?
01:13.15 bjorkBSD something like that. i saw it in a youtube video
01:13.36 louipc I've heard bad things about vista, and not from windows users nonetheless
01:13.37 bjorkBSD ... they've had it in iexplorer for ages, but it seems it's use has been broadened.
01:14.21 louipc I tried XP because a linux user said it was the best thing since 3.1 or something. That didn't last for me hah.
01:14.32 louipc bad things... *and from windows users...
01:14.46 louipc typo
01:14.50 bjorkBSD hehe
01:15.08 bjorkBSD i have a windows partition i reboot to every now and then.
02:21.32 *** join/#brlcad bobbens (n=bobbens@84.16.237.134)
04:44.31 Maloeran Could anyone tell me what's the common memory and processing models within HPC clusters? I received from a non-programmer by email information that conflicts with my assumptions
04:44.39 Maloeran Keywords to wikipedia would do too
04:46.16 *** join/#brlcad PrezKennedy (n=Matthew@c-69-138-68-160.hsd1.md.comcast.net)
06:36.10 brlcad louipc: the CLI is not going away in the least and would actually be more a part of the foundation to the interface (e.g. anything you could do in the gui would be exposed on the cli and vice-versa)
06:39.55 brlcad it would be just more of a focus on designing a gui that actually works, is efficient, more consistent, is readily pluggable, and not nearly as much of a bear to maintain/improve as mged's is
06:41.41 Maloeran Nevermind the question about cluster processing, Mark had some... weird ideas on the topic :)
06:43.43 brlcad most custom designs in general with data localized/replicated in-core or is spread across some out-of-core storage and loaded as needed
06:48.24 brlcad most don't have shared process spaces or shared address spaces, but often have shared storage (but not always) so it usually boils down to whether disk memory is sufficient or whether to optimize replicaton/distribution over some communication pipe like tcp sockets, mpi, pvm, etc
06:49.30 Maloeran Shared address spaces, that exists?
06:49.44 Maloeran It goes against all I know, but it was what Mark apparently assumed
06:50.42 brlcad there's a few systems that do, some experimental, some more production
06:51.54 Maloeran Woah... but..
06:52.38 Maloeran If the memory address space is shared, it must be a single system made of multiple processors ; you have one memory bank
06:53.07 Maloeran It wouldn't be too reasonable to get a page fault for every memory access and synchronize with other processing nodes constantly
06:53.35 brlcad not necessarily -- the kernel is simply written/geared towards managing the memory
06:53.51 brlcad that's the whole idea around single shared image systems in general
06:54.03 brlcad mosix is probably the most popular/common one that you might have heard about
06:54.06 brlcad or openmosix
06:54.19 brlcad ahh, here's some references http://en.wikipedia.org/wiki/Single-system_image
06:54.35 Maloeran I really don't see how this could possibly work
06:55.07 Maloeran The only way for the kernel to know what memory is being modified or accessed is to trigger page faults
06:56.18 brlcad they do work ;)
06:56.27 brlcad to varying degrees of coolness
06:56.33 Maloeran Do you have any idea how, briefly?
06:56.44 brlcad mosix gets away with it by simply migrating processes to balance load
06:56.45 Maloeran How can they track what's being read or written to synchronize the data?
06:56.58 Maloeran Yes, they can migrate processes, but they won't share address space
06:57.09 Maloeran You couldn't get shared memory between processes
06:57.15 brlcad right, that's why they're only a partial SSI
06:57.42 brlcad there is still one shared address space, but it's no bigger than the smallest single system's available memory
06:58.07 brlcad which isn't entirely true .. but a simple enough simplification
06:58.13 Maloeran How can they possibly synchronize that memory?
06:58.57 brlcad they don't really need too -- the process moves with it's memory
06:59.49 Maloeran Yes, yes, moving processes around is fine. Now, let's say you have process A on the box M and process B on the box N. The two processes have 160mb allocated as shared memory which they use to communicate
07:00.14 Maloeran How are they going to manage and synchornize that memory between the two nodes?
07:00.53 brlcad that's the entire question behind just how do you do SSI
07:01.00 brlcad each of those ssi projects goes about it a different way
07:01.05 *** join/#brlcad clock_ (i=clock@84-72-63-172.dclient.hispeed.ch)
07:01.22 Maloeran I see no other way than constant page faults, which would make performance crawl
07:01.25 brlcad some are compiler mods coupled with specific kernels that are fed information about memory access
07:01.55 brlcad just because you can't imagine it doesn't mean someone else hasn't :)
07:02.14 Maloeran I know that, but I'm asking how it works! :) I guess I should do some reading
07:03.24 brlcad well, you might also be thinking shared memory == shared address space and it doesn't
07:03.33 brlcad at least not necessarily
07:04.07 brlcad whether you even can write C code on a lot of those systems is not possible -- some are very customized academic projects
07:04.24 Maloeran brlcad, the box M needs to "know" when the process A writes within the shard memory, so it can update it on box N
07:05.00 Maloeran Okay, Mosix doesn't support shared memory
07:05.07 brlcad with shared memory -- sure, and there's ways a kernel could be written to propagate that
07:05.19 brlcad yes, mosix doesn't
07:05.59 brlcad it does process migration in a unified process address space
07:05.59 Maloeran The kernel must be told by the processor that writes occur to begin with ; that implies a page fault
07:06.29 brlcad implies a "fault" of some sort .. whether memory is managed in pages is an assumption in itself
07:06.55 brlcad whether that maps to hardware fault is yet another
07:07.33 Maloeran Right, of course so. What I'm trying to say is that page faults, specifically assuming ia32/amd64 hardware, would cripple performance
07:08.08 brlcad i believe openssi actually does shared memory across a unified address space
07:08.17 brlcad though I haven't looked into how they actually achieved it
07:09.04 brlcad hey, you can't get it all for free -- if you're going to be accessing memory across a network link, performance is going to be crippled no matter how creative you get
07:10.05 brlcad i mean you're talking the difference of a couple clock cycles to a few nanosecs at best
07:10.34 brlcad which is of course...several orders
07:10.49 brlcad the fact that it'll even do it (and do it automatically) is what's amazing
07:11.12 brlcad just getting it to work at all has been something groups have been working on for longer than I've been alive :)
07:11.19 Maloeran I'm asking this because Mark had the assumption that clusters could share memory address space, running threads over the processing network, which is of course incorrect
07:11.34 Maloeran But I thought there could be some weird cluster architecture I wasn't aware of
07:12.04 brlcad nobody does individual thread-level yet afaik .. even mosix only does process-level
07:12.16 brlcad though openssi does thread-group migration iirc, one step closer
07:12.59 Maloeran I don't know if it's really amazing, it's absolutely horrible by design :)
07:13.21 brlcad openssi might be what he was thinking .. or mosix for that matter and he really just meant unified address space instead of shared and running processes over the network instead of threads
07:13.38 brlcad horrible??
07:13.58 Maloeran If you want to distribute processing over a network, just write the software as such
07:14.18 brlcad some of those systems are nearly optimal for doing exactly that
07:14.18 brlcad with zero effort on your part
07:14.53 Maloeran Without shared memory, I still need to handle I/O between processes, I haven't gained anything
07:15.39 brlcad perhaps, or maybe you have an application that is already well-designed to not have that assumption or need for interprocess communication
07:15.59 brlcad you're making a ton of assumptions about what matters, assumptions that don't hold for a lot of cases
07:16.37 Maloeran Right, I should clarify : I'm thinking about distributed processing for a single problem, not running 100 distinct processes
07:17.09 brlcad it also depends on the nature of the problem itself of course
07:17.38 brlcad if you have a problem that can be independently parallelized, it can likely also be independently distributed seamlessly
07:18.10 brlcad (with a given architecture (software and hardware)
07:18.25 Maloeran True, but then there isn't much to gain from "apparently" running the 100 processes "locally" rather than booting them on the 100 boxes. It's a bit easier to manage surely
07:18.56 brlcad whether there's much to gain depends on the problem too :)
07:19.03 brlcad something short-lived, yeah, not much gain
07:19.15 brlcad something like the life of your rays, yeah not much gain
07:19.32 brlcad something that took minutes/days/weeks to process.. it'd be incredibly useful
07:19.37 Maloeran I see the point but it's really a matter of convenience, an user could start the processes on the other boxes "manually" too
07:19.57 brlcad sure, but then I could have done that anyways..
07:20.12 brlcad the point of the cluster is to do that stuff for you with the least effort
07:20.46 brlcad sometimes that least effort is by custom coding or using mpi or it's by going with a different cluster architecture that does things for you
07:20.56 Maloeran Right, so it's a matter of convenience, I realize that
07:21.04 brlcad most of the popular (massive) clusters don't do SSI
07:21.17 brlcad i think HP's cluster tech does, but nobody else
07:21.34 brlcad everyone else predominantly is geared towards mpi
07:23.07 brlcad that's what the network cards are optimizing for, the network stacks, etc.. if you want to efficiently scale up to 10k processors and not have to worry (as much) about bottlenecking yourself with interprocess/thread communication, mpi can help (even as heavy as it can be otherwise)
07:24.15 Maloeran Yes, MPI is a neat abstraction layer, I won't contest that :)
07:24.58 brlcad course if your problem can take advantage of 10k processors or even 1k easily.. then there's not much advantage to be had by the alternative of custom coding some network layer yourself to avoid mpi's (variable) overhead .. even a "2x" savings on something that takes two weeks to compute isn't that interesting
07:26.25 brlcad because those are generally problems that are entirely intractible/unfeasible/useless on smaller supercomputers
07:27.44 brlcad it's still "at least a couple years" out before I'll be able to do a full-blown fluid dynamics simulation on a dual quad-core workstation to say the least.. ;)
07:28.16 Maloeran :) Seems I'll have a chance to try that out soon
07:28.50 brlcad full-blown valid-physics down to something like millimeter accuracy at least
07:29.01 Maloeran I have only read documentation and code about MPI, I'll try to move on from TCP/IP soon
07:29.23 brlcad there are tons of simplifications that can be made on an fluid problem to get them to work on workstations already
07:29.51 Maloeran I'll probably get to rewrite SURVICE's fire simulation soon ( fluid dynamics ), it's really filled with simplifications
07:29.53 brlcad MPI isn't "great" .. it's been so painful to achieve adoption because the API is a pita
07:30.36 brlcad but it's like democracy .. it's not great, but it's the best to have been conceived, adopted, and popularized to date
07:30.37 Maloeran The API of MPI seemed appropriate for its purpose... I may think differently when I get to use it
07:30.48 brlcad it's gotten tons better
07:31.43 Maloeran I was baffled by how slow SURVICE's fire modelling was, especially when I heard how much they simplified the problem. Never let engineers write code, in Fortran 77 too
07:37.52 Maloeran If I may, how much is there to lose by using MPI over more tailored specific solutions, for software running on 1-4 nodes or so?
07:52.58 brlcad mpi for 1-4 nodes is frankly pointless -- that could just as easily be a command line option for that few nodes
07:55.06 brlcad --run-on="node1, node2, node3, node4" etc.. fork a master than remote execs to the nodes or something else .. heck of a lot simpler code and trivial to manage the communication between them without worring about a major bottleneck
07:56.42 brlcad it's only once it's over like 16 that it starts to get "hard" imho and things start to matter
07:57.38 brlcad how much you loose depends on lot on how many MPI calls you make and how much interprocess/thread communication is going on (which you generally want to minimize of course as much as possible)
07:58.59 brlcad compared to strait-up custom tcp, I've seen the mpi overhead be as low as only a couple percent to being a couple hundred
08:00.05 brlcad the main benefit of course being that tcp was easy to write for smaller counts of nodes .. but quickly doesn't scale for larger and larger node counts where mpi scales considerably better and doesn't have to be maintained/debugged/tweaked
08:45.18 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
14:04.08 *** join/#brlcad docelic (n=docelic@212.15.185.210)
15:30.07 Maloeran Thanks for the reply, brlcad, I was asleep by then
15:39.28 ``Erik mal: have ya read up on 'numa'?
15:39.52 Maloeran Sure, some time ago
15:40.39 ``Erik hrm, didja forget it? :D (given your conversation before you went to bed, I'd assume...)
15:40.53 Maloeran We should store a whole copy of geometry and graphs per memory bank, and have specific threads access it... but I haven't read about the software interfaces to do so
15:41.15 ``Erik it's a cluster form with a unified memory space on several independant nodes, each with its own cpu and memory...
15:41.16 Maloeran The discussion wasn't really related to NUMA, it was about distributed processing over multiple nodes
15:42.10 Maloeran The count of processors in such a design is kept very low, is it not? Up to 16 for an octo-dual-opteron
15:42.24 ``Erik an altix is a numa cluster of small single cpu ia64 machines using sgi's numalink to get unsucky bandwidth between 'em and a hacked up suse to handle processor and memory affinity
15:43.15 Maloeran That's one single machine though, not a cluster
15:43.23 ``Erik no, it's a cluster
15:43.51 ``Erik if I walk up to one, it's a bunch of seperat 2u machines, I could pull the numa cables off the back, put in a hard drive and install an os on that one machine
15:44.21 ``Erik http://www.gup.uni-linz.ac.at/information/hardware/altix350_front.jpg
15:44.24 Maloeran Do opteron clusters work the same way?
15:45.15 ``Erik it doesn't matter what the cpu is, it depends on the kernel and interconnect (using something like ethernet would make it absolutely horrible)
15:46.04 Maloeran So the Opteron clusters Mark spoke of do have an unified memory space?
15:46.06 ``Erik the opteron clusters I have are not numa, they're regular ethernet tcp/ip nodes, each with independant kernels that don't try to assume anything about eachother, and a single disk attachment
15:46.16 ``Erik I don't know which clusters mark spoke of... :)
15:46.56 Maloeran So opteron clusters do exist having a global memory address space by NUMA?
15:47.32 ``Erik I would be surprised if they didn't *shrug* like I said, what cpu it is and NUMA are unrelated
15:48.35 ``Erik I could take a stack of old 486's running 10baseT and hack up a numa kernel for 'em... it'd suck, but it's doable
15:48.39 ``Erik or, heh, numaPIC :D
15:48.50 Maloeran It's certainly not running on a standard motherboard then!
15:49.05 ``Erik sure it is... numa is a kernel hack
15:49.32 Maloeran NUMA is a hardware solution
15:49.32 ``Erik ok, if you miss on level1 cache, it goes to level3... if it misses there, maybe it goes to memory... if it misses there, it goes to swap, right?
15:49.51 Maloeran That's not a kernel solution until it misses memory and trigger a page fault
15:49.52 ``Erik shove 'other nodes' inbetween memory and swap, that's numa
15:50.03 ``Erik no, numa is a kernel hack that lets you fake unified memory
15:50.08 ``Erik NUMALink is a hardware solution
15:50.09 Maloeran A page fault per memory access is not practical
15:50.22 ``Erik yeah it is, IF you have a low latency interconnect
15:50.36 ``Erik which is what NUMALink is... sgi's proprietary interconnect, designed with numa archs in mind
15:51.01 Maloeran You would spend 50000 times the processing time of *one* memory-accessing instruction to handle that page fault!
15:51.08 ``Erik ib and myra could probably do it semi-decently if your kernels scheduler was very aware of affinity
15:51.40 ``Erik the trick is that migrations are minimized... if a processor is happily using 1 node, it'll try to keep it on that node...
15:51.56 ``Erik if two apps are sharing memory, it'll bias towards running both of those on that one node
15:52.50 ``Erik (and accessing another nodes memory, if you're using a decent interconnect (like NUMALink for the altix) may be an order of magnitude slower than local memory, but is several orders better than swap
15:52.52 ``Erik )
15:53.16 Maloeran I see, so it does work by page faults
15:53.42 ``Erik if the underlying arch does, I'd imagine it'd have to
15:54.15 Maloeran NUMA as implemented in an Opteron system is really fast, memory banks bound to other processors are just a bit slower if the hypertransport link is not saturated
15:54.19 ``Erik (also; a common use of supercomputers isn't to run one really really big app, but to run a bunch of sorta big apps)
15:54.27 Maloeran That's usually what I refer to by NUMA
15:54.59 ``Erik you're talking about hypertransport and how it can facilitate numa, not numa
15:55.12 ``Erik hypertransport is just a fast interconnect...
15:55.40 ``Erik if the kernel is stupid about using it, it'll 'page fault' through to the other cpu's memory banks frequently... no?
15:56.00 Maloeran No, it doesn't page fault
15:56.04 Maloeran It's a hardware solution :)
15:56.19 ``Erik ok, *shrug* then they have both in hw
15:56.26 Maloeran The hardware physically routes queries to the memory of other processor banks
15:56.38 ``Erik on an sgi altix, afaik, it's a fault and request... and surprisingly fast
15:56.50 ``Erik on mosix, it's a fault and request... and depends on the interconnect
15:57.15 ``Erik hum
15:57.35 ``Erik so it's an mmu hack that requires use of the hw 'task' vectors?
15:57.49 ``Erik <-- not versed in hypertransport, is old :)
15:58.33 Maloeran The pages are assigned to other memory banks, I guess it's managed as such by the MMU
15:59.10 ``Erik well, you have to manage the memory location by task... if the hw does that, you have to tell the hw when you're in a certain task...
15:59.17 ``Erik (task as in intel speak for process)
15:59.20 Maloeran It's just one big memory bank really, it's just that processors are faster to access their local one
16:00.33 ``Erik (as in hypertransport, not hyperthreading)
16:01.30 ``Erik hm, works on packets that're either flagged "posted" (for uma and dma) or "nonposted" (for numa)...
16:08.25 Maloeran Perhaps proper management of the memory banks, DMA?
16:09.11 ``Erik not sure, lots of bit manipulation, probably to make the bank/process association to retain coherency
16:10.06 ``Erik linux has a metric assload more than fbsd, mebbe that's why the single process run on a linux opteron outran the same run on a fbsd opteron
16:10.59 ``Erik ooh, damnit, now I wanna do kernel hacking to improve the cpu and memory affinity on that quad opteron
16:11.28 dtidrow heh
16:11.37 Maloeran I can't believe a NUMA system which would page faults for every access, requesting the data before resuming the instruction, could perform comparably to software fetching the data in advance as one big chunk
16:11.39 ``Erik stupid raytracer crap
16:12.00 ``Erik well, the "page fault" may not call a cpu interrupt, it may be completely hw abstracted and fast *shrug*
16:12.48 ``Erik but the os still has to manage the mmu *shrug* it may just be that the interconnect keeps a duplicate copy of the kernels notion of what memory resides where
16:13.10 Maloeran I see.
16:14.41 ``Erik (per ghz, opteron running 85k rays/sec, g5 at 45k, ia32 at 18k... damn)
16:15.57 ``Erik (well, one opteron was 85k, the other was 60k... r12k was 31k, usII was 30k, ia64 at 41k)
16:16.19 Maloeran librt this is?
16:16.23 ``Erik ja
16:16.49 ``Erik the 64 intel amd64 (used to be called EMT or something?) came in at 25k
16:17.24 ``Erik oh, with the ia32, 18k for linux, 32k for fbsd...
16:17.58 dtidrow in other words, librt is optimized for fbsd
16:18.06 ``Erik these are all 'per ghz' on machines with radically differnet cpu speeds and no attention paid to bus speeds or anything, btw
16:18.22 ``Erik well, on the opteron, linux came in at 85k where fbsd was 60k
16:18.58 dtidrow guess linux has the better memory management inplementation on opteron
16:19.05 ``Erik makes me think that it's not an artifact of librt being optimized one way or another, but the OS... amd64 is immature on amd64, but kickin' on ia32
16:19.27 dtidrow fbsd, you mean?
16:19.35 ``Erik I think the memory mgmt is all an upfront hit with pools being used, ...
16:19.37 ``Erik er, yeah, sorry
16:19.52 ``Erik amd: linux>fbsd. ia32: fbsd>linux.
16:20.18 dtidrow heh, another reason for me to get AMD :-)
16:20.36 dtidrow anyway gotta head in to work - later all...
16:20.41 ``Erik later, dude
17:23.23 *** join/#brlcad bobbens (n=bobbens@84.16.237.134)
18:51.46 ``Erik numa is an abstract idea, not a specific implementation...
19:31.44 Maloeran Oh hrm. Erik, I briefly mentionned we debated cluster architectures in an email, and he asks, what's your "recommendation"? :)
19:32.02 Maloeran I guess he means TCP/IP vs MPI vs NUMA-aware pthreads
19:32.21 Maloeran In the context, "he" being Mark
19:36.52 brlcad numa-aware pthreads is generally part of single-image systems, not clustering .. otherwise saying "red vs blue vs duckies"
19:37.52 Maloeran Altix clusters, for example, have an unified address space though, which means that NUMA-aware threads could reasonably work
19:39.36 brlcad there are massive altix smp and clusters of massive altix smp
19:40.14 brlcad the clusters don't have a unified address space, altix is cool because it's smp and not a cluster in itself
19:40.51 Maloeran All right, that clarifies the definitions. So it's a 512 processors SMP NUMA system
19:41.07 brlcad yes
19:41.51 brlcad and that'll be quite a price tag at that size to say the least
19:42.02 ``Erik <PROTECTED>
19:42.26 brlcad pretty much only find those systems at HPC assets (which ARL does happen to have, the MSRC)
19:42.34 ``Erik altix is numa, not smp...
19:42.50 brlcad altix is numa and smp
19:43.14 ``Erik meh, numa is a memory layout, not a cpu scheduling layout, so *shrug*
19:43.59 ``Erik but duckies, ... duckies are awesome
19:44.06 ``Erik (ever watch 'ze frank'?)
19:44.12 brlcad daily ;)
19:44.29 brlcad ze frank
19:44.38 brlcad ze frank is pretty awesome
19:45.15 ``Erik it's on my daily list, too, along with sbemail and the comic page and smacksnot
19:46.01 archivist hmm smacks not or smack snot
19:46.18 ``Erik smack snot
19:46.25 ``Erik aka crack rock
19:46.40 ``Erik sometimes slashdot, by the unitiated or sufficiently confused
19:50.14 brlcad Maloeran: maybe watch some of these for starters: http://www.zefrank.com/theshow/ then click on "popular shows" on the left
19:50.54 ``Erik heh, then blow a solid week watching the entire archive *cough* O:-)
19:51.21 archivist I wont be able to read slashdot without the thought smack snot going through my head now
19:51.42 ``Erik *bow*
19:52.03 ``Erik that's a good thing, right? you'll be able to do something productive, instead?
19:52.28 archivist wot hell no
19:54.23 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/misc/Makefile.defs: punty "depends" target
19:59.52 ``Erik nothing :)
20:00.00 ``Erik there'll be a bigarsed commit in a few
20:00.19 brlcad hrm
20:00.22 ``Erik but, as the regex.h issue remains, my testing of it is incomplete
20:01.09 ``Erik I don't think tcl's regex stuff can be easily removed, it looks like it's use in the symbol resolving functions, as well as in the file routines
20:03.38 brlcad i didn't mean remove the regex code, just the files themselves -- or do you mean they're #including .c files or something?
20:04.03 ``Erik <-- finds himself going into dirs in the appropriate dep chain order and doing make by hand to get the lib or bin he wants, thinks it'd be keen if he could go where he wants and do "make depends all"
20:04.20 brlcad ahh
20:04.23 brlcad yeah, that would be useful
20:04.31 ``Erik not including .c files, but generic/regex.h is used several places in generic/*.c
20:04.34 brlcad i do the cd dir dir dir blah foo too
20:05.14 brlcad i think only folks that understand how automake works are generally inclined to do that, but hey that's cool
20:05.18 ``Erik it might be best to mv regex.h regex_tcl.h and sed 's/regex\.h/regex_tcl.h' *.[ch]
20:05.38 brlcad might also just get away with -DVOID=void
20:05.52 ``Erik I'd do it to what we have now, but I ASSUME you're close to committing a new tcl
20:05.57 brlcad the more I looked at it last night, the more it looked like it was empty
20:05.59 ``Erik that won't be the only thing broken, just the first
20:06.20 *** join/#brlcad clock_ (i=clock@84-72-63-61.dclient.hispeed.ch)
20:06.31 ``Erik unless generic/regex.h just happens to have all the meat of /usr/include/regex.h and it happens to use the same define values and stuff
20:07.21 ``Erik well, commit it up, yo... even if it's busted, we could split the load and both go about fixing... *shrug*
20:11.36 ``Erik in a branch if ya want *shrug* I'll sync to a branch
20:13.46 brlcad commit what up?
20:13.59 brlcad -DVOID=void?
20:14.48 brlcad still working on finishing this 8.5 testing/building, trying to get subconfigures to work reliably
20:17.07 dtidrow_work http://tinyurl.com/3cx56e - good grief
20:17.39 dtidrow_work the excessively accesorised toilet
20:19.12 archivist lacks a lectern for a heavy book
20:19.24 brlcad hrm.. by that math
20:22.09 brlcad it's saying the average person spends 11862 hours per day in the bathroom (presumably on the toilet) .. which is roughly 30 minutes a day
20:22.58 ``Erik per day?
20:23.31 ``Erik heh
20:24.02 brlcad i know some people that .. er .. take forever, but then they have "issues" too afaik
20:24.16 brlcad well yeah, that depends what all is included
20:24.28 brlcad the article makes it sound like you spend all that time on the john
20:25.05 dtidrow_work heh - women spend at least 1.5hrs a day in the bathroom, then
20:25.06 archivist for a good stiff sh.. the a good read is needed
20:26.45 brlcad i never got that, i'm in and out every time -- there's no by the time I finish a couple sentances, it's over
20:27.16 ``Erik need something to tear pages out of if there's no tp *shrug*
20:28.13 dtidrow_work clearly ``Erik belongs to the church of vi
20:28.24 ``Erik yes, the vim sect
20:31.05 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/ (13 files in 13 dirs): beginnings of DEPS flags for "make depends" chaining.
20:46.34 brlcad ahh
20:48.28 ``Erik ?
20:49.47 brlcad instead of (re)listing the dependencies.. they're already listed in a couple places
20:50.27 brlcad you could parse over the libadd/ldadd stuff, or peek at the _DEPENDENCIES vars or peek in the .deps dirs and build up that directory list automatically
20:51.08 brlcad so you don't have to maintain a separate list that'll eventually be out of sync when someone adds a new lib and doesn't notice the DEPS var
20:51.29 brlcad it'd always be perfectly in sync
20:51.39 ``Erik spoze I coulda tried that, and did sed-fu to strip it down *shrug* but if I did that, then people who're over-verbose in attaching libraries would cause a LOT of duplicate computation
20:52.16 ``Erik <-- already annoyed with the amount of replication of computation with the hand-minimized list
20:53.22 brlcad replication?
20:54.56 ``Erik yeah... if I do 'make depends' in, say, mged... rt->bn->bu->tcl, tk->tcl, so tcl gets two passes
20:54.58 brlcad if you need to rebuild mged and be portably sure, it's got to walk the dependency hierarchy for each ldadd lib ..
20:55.28 brlcad hmm.. sounds like you need to build up the list of what to do before actually doing it
20:55.38 ``Erik I was half tempted to give each dir an "am I built?" target and stopping if that's yes
20:56.00 ``Erik that's one way, but to be portable across makes, ... :/
20:56.56 brlcad sure across makes
20:56.56 brlcad you do the same traversal you have in depends now .. but make it do two walks .. just not runnning depends on the first walk
20:57.52 ``Erik mebbe in the future...
20:58.39 brlcad it is, but the hooks they provide should make it work
20:58.47 brlcad i fixed a handful of things, there still another problem?
20:58.59 brlcad could have disabled more, but I tried to only disable minimal
20:59.07 ``Erik how'd you disable it?
20:59.31 brlcad Makefile.am cppflags to turn stuff on/off
21:00.05 brlcad right
21:00.15 brlcad i commited a fix for that yesterday
21:00.18 ``Erik libdm/dm_obj.c
21:00.25 ``Erik I updated today, it's still breakin' O.o
21:00.27 brlcad at least I thought I did
21:00.43 ``Erik (also don't remember seeing a cia msg)
21:01.19 brlcad huh, that's odd
21:02.05 brlcad hrm, maybe the commit errored/timed out and I didn't notice
21:03.58 brlcad ahh, yeah, something happened
21:03.59 brlcad M pngconf.h
21:04.17 brlcad probably queried for a pass and I didn't notice or something
21:06.29 ``Erik that's the included png... I'm trying to use the system png
21:07.14 ``Erik like guard the setjmp in bu.h and make sure png.h is included before bu.h
21:07.27 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/other/libpng/pngconf.h: disable the linux setjmp.h double-inclusion protection (at least for now) on the assumption that we will get the same setjmp.h and this won't be a problem. add a note that this was modified by us for BRL-CAD.
21:07.38 ``Erik since the png fucktards can't figure out how to guard headers right *cougH*
21:07.46 brlcad pngconf.h is installed on the system?
21:08.03 ``Erik yes$ ls -l /usr/include/pngconf.h
21:08.03 ``Erik lrwxrwxrwx 1 root root 18 Aug 11 12:34 /usr/include/pngconf.h -> libpng12/pngconf.h
21:08.24 ``Erik rhel64 on an opteron
21:08.47 ``Erik shuffling headers and gaurding in bu.h sound about right? I can take care of it while you do tcl
21:09.05 brlcad could work it out so that png.h is just included before our stuff -- it should be actually
21:09.13 ``Erik 'k, I'll go about that
21:09.17 ``Erik hurry up and finish tcl :D
21:09.32 brlcad common.h -> system headers -> public interface headers -> private headers
21:09.37 ``Erik so i can unhack regionfix.c and proe-g.c on my thing
21:09.42 brlcad png.h is a system header
21:10.18 brlcad another fix would be to just set -DPNG_SETJMP_NOT_SUPPORTED
21:10.31 brlcad and it skips it altogether
21:12.13 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/libdm/dm_obj.c: pull system headers up ahead of our headers
21:14.24 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/canon/png-ipu.c: pull system headers up ahead of our headers
22:02.23 *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) [NETSPLIT VICTIM]
23:37.14 louipc more
23:37.20 louipc erk

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.