About hammer, compiling, and RAM.

Discussion in 'Mapping Questions & Discussion' started by Grubzer, Jul 20, 2016.

  1. Grubzer

    Grubzer L4: Comfortable Member

    Messages:
    186
    Positive Ratings:
    36
    I installed more RAM on my computer. (Before - 4gb, now - 12 gb), but hammer compiler (vvis vrad and vbsp all together) still using 4 gb of RAM. How do i let them use more of RAM? Is there any limits?
     
  2. KubeKing

    Server Staff KubeKing dan's birthday was fun too

    Messages:
    1,262
    Positive Ratings:
    1,570
    Unfortunately, 32-bit programs such as Hammer can't use more than 4GB of RAM (more specifically, 3-point-something GB).
     
    • Thanks Thanks x 1
    • Agree Agree x 1
  3. Grubzer

    Grubzer L4: Comfortable Member

    Messages:
    186
    Positive Ratings:
    36
    is there any 64-bit compilers?
     
  4. KubeKing

    Server Staff KubeKing dan's birthday was fun too

    Messages:
    1,262
    Positive Ratings:
    1,570
    • Thanks Thanks x 1
  5. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,377
    I doubt it. Everything funnels through VBSP, VVIS, and VRAD, and they're 32 bit. I'm not sure memory is really a bottleneck anyway compared to processing speed; VRAD definitely jumps up to 99% CPU usage whenever I run it.
     
    • Thanks Thanks x 2
  6. henke37

    aa henke37

    Messages:
    1,945
    Positive Ratings:
    461
    You could build your own 64 bit version of the tools. They did release the source code for them some ten years ago.
     
  7. Grubzer

    Grubzer L4: Comfortable Member

    Messages:
    186
    Positive Ratings:
    36
    i'm bad at programming:engienope:
     
  8. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,441
    Positive Ratings:
    1,196
    Well the RAM upgrade is a good thing too, though there are other things you could upgrade to make compiling faster.
     
  9. theatreTECHIE

    aa theatreTECHIE Yet another Techie for the net...

    Messages:
    396
    Positive Ratings:
    417
    Compiling is massively dependent on the CPU, so getting a faster CPU can help decrease compile times. The compilers also take use of multiple cores, so having an intel i7 rather than an i3 or i5 would also help, as the i7 processors have more logical threads.
     
    • Agree Agree x 1
  10. Vel0city

    aa Vel0city func_fish

    Messages:
    1,938
    Positive Ratings:
    1,540
    That said, there's a finite amount of threads the compilers can use. It's 16, so an 8-core extreme edition i7-5960X (or the newer Broadwell-E 8-core CPU would do too) is the most extreme CPU you can use before you're starting to not use cores. You could use them for other things though.

    I also remember someone wanting to build a GPU accelerated version of the compilers though which would speed up the compile process (especially VRAD) by a whackton, but that was years ago, and the project never even left the ground.
     
  11. henke37

    aa henke37

    Messages:
    1,945
    Positive Ratings:
    461
    The tools are supposed to support cross machine multithreading. Running the build on multiple machines and all that. You could probably dodge the core limit by running multiple instances of that on the same machine.
     
  12. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,377
    Just out of curiosity, how would one take advantage of that if one actually had multiple machines? Would we have to set up an actual cluster?
     
  13. henke37

    aa henke37

    Messages:
    1,945
    Positive Ratings:
    461
    The way it is supposed to work is that you run VVIS or VRAD with a special argument that makes them ready to accept work from the network. You also run the same program with a different argument to act as the manager, handing out tasks to each slave (and itself if it feels like it).
     
    Last edited: Jul 22, 2016
  14. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,377
    That page says the Orange Box version is broken, which means it's useless for doing compiles with advanced lighting parameters... so, basically, the only compiles that might take long enough to justify distributed compiles in the first place. Good to know that I can forget about this and not bother learning how to use it.