Working on Litmus-Maps
-
- Posts: 449
- Joined: Sat Nov 06, 2010 2:33 am
Working on Litmus-Maps
As I've been doing increasingly complex work on q3map2 lately, I'm building a set of acid-test type maps to verify the compiler is doing things the right way. I'll eventually have a reference collection of compiled maps for each test to provide a baseline for what successful builds look like.
The idea is that provided you have q3map2 and pak0, these maps should always compile - and always compile the same. I'm working on compile scripts just to simplify things, but for now I've been posting map data on git hub because I want to be able to glance at the map code easily if the compiler throws an error on an entity or a brush.
https://github.com/volumetricsteve/Litmus-Maps
So far I've just got the two, but I'm working on some bsp-phase tests at the moment. One I'm doing a test build on now caused X11 to segfault...so I dropped back to the command line and re-ran it and for the past 40 minutes or so the bsp phase has been writing data to my drive non-stop. This map is just one hollow cube that's almost at the bounds for what radiant allows with a single light inside with a deathmatch_player_start in the middle.
Edit: About an hour later, the system spit out: systemd-udevd[184]: fork of child failed: cannot allocate memory
I think I filled my drive...I think it would throw a different error if ram got overloaded, right?
The idea is that provided you have q3map2 and pak0, these maps should always compile - and always compile the same. I'm working on compile scripts just to simplify things, but for now I've been posting map data on git hub because I want to be able to glance at the map code easily if the compiler throws an error on an entity or a brush.
https://github.com/volumetricsteve/Litmus-Maps
So far I've just got the two, but I'm working on some bsp-phase tests at the moment. One I'm doing a test build on now caused X11 to segfault...so I dropped back to the command line and re-ran it and for the past 40 minutes or so the bsp phase has been writing data to my drive non-stop. This map is just one hollow cube that's almost at the bounds for what radiant allows with a single light inside with a deathmatch_player_start in the middle.
Edit: About an hour later, the system spit out: systemd-udevd[184]: fork of child failed: cannot allocate memory
I think I filled my drive...I think it would throw a different error if ram got overloaded, right?
Re: Working on Litmus-Maps
You are trying to hit the limites of the updated compiler with your test maps? Because, today with the knowledge of detail brushes and caulk hulls a bsp compile should be less than a minute at the most, even for very detailed map. So your very long compiles seem to suggest you are really pushing things? Alas no idea how to help, but those compile times remind me of the bad old Q2 days, where a compile tool 24h on an Alpha under Linux, pretty much shredding the HDD. Also it seems to be suggesting a lack of main memory?
-
- Posts: 449
- Joined: Sat Nov 06, 2010 2:33 am
Re: Working on Litmus-Maps
Correct, I'm going out of my way to push the compiler, but this is purely to verify that the modified compiler can still compile a set of complex maps, thereby validating a 'good' build of the compiler. I'm entering some new territory I think because I remember back around 2005 I was chugging along on a Pentium 4 with what couldn't have had more than 2GB of ram and some of my more insane maps would simply fail to compile....Today, memory in the scope of what q3map2 needs is practically an afterthought and the ways cpus have advanced, things that once took weeks now take minutes. Except, of course, in these oddball fringe cases.
I'm interested though....you mentioned the q2map compiler would induce a lot of shredding on the hard drive, was that because of swap use or something else?
I'm not sure what BSP was doing, but today I tried it again on the Cray and it knocked out the -- MakeTreePortals -- section in about a minute and a half compared to my laptop which spent a good hour or so murdering my SSD and I eventually had to kill the job.
I wonder if Quake 3/ioQuake3 could even render the map if it's just one gigantic hollow cube....I suspect there'd be a z-buffer issue at least.
I'm interested though....you mentioned the q2map compiler would induce a lot of shredding on the hard drive, was that because of swap use or something else?
I'm not sure what BSP was doing, but today I tried it again on the Cray and it knocked out the -- MakeTreePortals -- section in about a minute and a half compared to my laptop which spent a good hour or so murdering my SSD and I eventually had to kill the job.
I wonder if Quake 3/ioQuake3 could even render the map if it's just one gigantic hollow cube....I suspect there'd be a z-buffer issue at least.
-
- Posts: 449
- Joined: Sat Nov 06, 2010 2:33 am
Re: Working on Litmus-Maps
Can someone try to compile this map?
https://github.com/volumetricsteve/Litm ... -small.map
Vis won't work, but I'd be curious to see what times people get on BSP and Light
I just got 40 seconds on BSP and 551 on Light
BSP:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -meta -patchmeta -v lighttest-small.map
Light:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -light -fast -samples 2 -patchshadows -bounce 8 -v lighttest-small.map
https://github.com/volumetricsteve/Litm ... -small.map
Vis won't work, but I'd be curious to see what times people get on BSP and Light
I just got 40 seconds on BSP and 551 on Light
BSP:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -meta -patchmeta -v lighttest-small.map
Light:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -light -fast -samples 2 -patchshadows -bounce 8 -v lighttest-small.map
-
- Posts: 252
- Joined: Sun Nov 06, 2011 11:11 pm
Re: Working on Litmus-Maps
32 threads? Does it just take the max possible, like -bounce?
Also I've made and compiled maps that span the entire radiant grid, some of which were even terrain. BSP took a while and they were broken as all hell in game, but they compiled!
I didn't have the 3 weeks to spare to compile light on them though.
Also I've made and compiled maps that span the entire radiant grid, some of which were even terrain. BSP took a while and they were broken as all hell in game, but they compiled!
I didn't have the 3 weeks to spare to compile light on them though.
Re: Working on Litmus-Maps
I do not remember any CPU for PC's that have 32 cores (the threads number). You should know how many cores your CPU actualy have and that way you should configure the threads number. It is not system's bits selection (32bit or 64bit)...
Re: Working on Litmus-Maps
You can run multiple threads on a single core. It's not limited to the number of cores you have. At some point though, increasing the number of threads will actually decrease performance.
Re: Working on Litmus-Maps
Simply, the many cores you have, that number you should set up in the threads. It's just a number that tells the CPU how many cores it should use. If the number is greater than actual number of cores, it could do some kind of multitasking the compiling program itself and due to the error randomize copies of the program in the memory, which might result in decreased performance. I did not tested it, though, so I can only speculate. That might require some kind of benchmark and proper amount of time, which I do not have...
-
- Posts: 449
- Joined: Sat Nov 06, 2010 2:33 am
Re: Working on Litmus-Maps
I have 32 cores on the system I'm building on. Note : it's a dual Xeon E5-2698 v3 I believe they're 16 cores each.
Also for anyone trying to compile the map, you've obviously want to change the -threads to match your system. I'm trying to get a sense of how quickly the map compiles on systems that aren't as insane as this one.
Also for anyone trying to compile the map, you've obviously want to change the -threads to match your system. I'm trying to get a sense of how quickly the map compiles on systems that aren't as insane as this one.
Re: Working on Litmus-Maps
I never heard about Xeon CPU. Do not mismatch CPU to System Core. CPU is hardware responsible to all program operations in your physical computer. System Core is simply program that allows using the system installed on your hard drive. I have Intel Core 2 Duo CPU installed inside my case. It has 2 cores (as the name tells; I'm not so much wealthy) - it might me in most of cases Intel or AMD, I didn't notice any other manufacturer, though...
Re: Working on Litmus-Maps
Why not google the name instead of just saying random stuff?
The first link says it has 16 cores..
http://ark.intel.com/products/81060/Int ... e-2_30-GHz
The first link says it has 16 cores..
http://ark.intel.com/products/81060/Int ... e-2_30-GHz
Re: Working on Litmus-Maps
Okay. What PC do you use if it has two CPU's? I never seen motherboard in desktop, that can hold two CPU's. Maybe some tech new on the trade 

-
- Posts: 252
- Joined: Sun Nov 06, 2011 11:11 pm
Re: Working on Litmus-Maps
It's not a hidden fact that there exist dual-CPU boards, and have for years...
Re: Working on Litmus-Maps
https://en.wikipedia.org/wiki/ABIT_BP6
I was going to buy this board in 2000 but had Money problems- so i didnt.
Today im happy about that... Id would just be wasted money.
EDIT: At this time i was thinking it would be cool to use 2-cpus. One for working and one for compiling. The problem was (if i remember correctly) that dual cpu´s at this time only worked right in windows NT.
I was going to buy this board in 2000 but had Money problems- so i didnt.
Today im happy about that... Id would just be wasted money.
EDIT: At this time i was thinking it would be cool to use 2-cpus. One for working and one for compiling. The problem was (if i remember correctly) that dual cpu´s at this time only worked right in windows NT.
Last edited by AndyW on Fri Jul 24, 2015 3:53 pm, edited 1 time in total.
Die Vitamine sind in der Dose gefangen!!!
Re: Working on Litmus-Maps
(Psst... Just wait until he finds out about QUAD-CPU boards and parallel GPU racks... Brains splattered everywhere...)
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
Re: Working on Litmus-Maps
Anyway, i cannot see a working map file for radiant to test any stuff. I think its my newbeness... Should i just save the Code as a *.Map and compile?
EDIT: SORRY FOR THAT 2x POST, I JUST WANTED TO EDIT, DUNNO WHAT HAPPENED :/
EDIT: SORRY FOR THAT 2x POST, I JUST WANTED TO EDIT, DUNNO WHAT HAPPENED :/
Die Vitamine sind in der Dose gefangen!!!
-
- Posts: 449
- Joined: Sat Nov 06, 2010 2:33 am
Re: Working on Litmus-Maps
@AndyW
Huh...my god github is annoying. Maybe this will work....
https://github.com/volumetricsteve/Litm ... -small.map
You should be able to right click on that link and do "Save link as..."
@CZGhost
You're an interesting dude.
Huh...my god github is annoying. Maybe this will work....
https://github.com/volumetricsteve/Litm ... -small.map
You should be able to right click on that link and do "Save link as..."
@CZGhost
You're an interesting dude.