Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Synthesis on Build Server?

Hi All,

We're having a discussion in our group about putting a compiler on a build server that can compile our source controlled projects.

Has anyone done this before? Do we need to get an additional license for just a compiler or is there a stand-alone compiler that we can use?

Thanks,

Colin

8 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You usually just install quartus on the server. Any full floating licence will work on any machine.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for the reply. What happens if the floating license is being used? Would the person using the fixed license get kicked off? Would the synthesis fail on the build machine?

    Is there a way for the priority of the build machine to be higher than a user seat?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The build server is just a normal copy of quartus, on a powerful machine. Quartus can be set up to wait for a licence, but if it's already in use, it cannot take it off someone.

    You mention a fixed licence? usually thats a separate issue to floating licences as fixed ones can only be used by specified machines.

    Here we have 6 "grunt" machines (6 core Xeons with 24GB or 48GB of ram). Generally, I only use these for DSE runs, but I can have up to 30 compiles running simultaneously.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks again for the info. Do you kick off a build on the grunts via command line? Or do you have to remote in to the machines to get a build going?

    If you can kick off a build remotely and have it open the compiler, fetch the license, synthesize, spit the output file somewhere and then close itself and give back the license that would be exactly what we want... Also if it couldn't get the license, then it would need to return with an error I guess.

    I have a feeling this is exactly what it does currently but correct me if I'm wrong.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Currently I just vnc into the machines (they're all centOS) and use the GUI locally. I dont think you're able to open Quartus on a machine and "farm off" the build to another machine. Basically you've got to be connected to the machine to set off a single build.

    With DSE (design space explore) its slightly different. As this usually runs builds in parrallel, you can set up another machine as a "slave" machine. But you will still have at least 1 build running on the master machine (you can have up to 6 per machine). The Master packages up the project and sends it to the slave for processing, before the whole lot is sent back as a QAR file. This invokes all the shell commands for you, all you need to do is enter what seeds you want to explore.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Oh, and to make the transfer easiest, we have two options:

    1. Keep the source on a network drive, so both my laptop and the servers can see the same code.

    2. Keep everything in a version control tool, then you commit changes on laptop and update on the server.

    Having this setup means I can set off my DSE off so I can look at the results 18 hours later, in the peace of mind I can log in from home and check its working if I want.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    We're looking at implementing this in order to integrate with software's version control tool. The idea is that when we commit changes to our code and upload it to source control, then when software sets off their next build it will set off a command line build of our projects as well, which would output the pof file which would then be put into a firmware download package that can be committed directly to our instruments.

    I really need to find out if a build can be set off autonomously from command line or something...

    Thanks for the help.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Have a read up of the quartus shell (quartus_sh). From there you can invoke anything, so automating the process should be possible.