If you have multiple translation units then use /MP argument to cl.exe:
 | cl.exe /MP ...(other args)... file1.cpp file2.cpp fileN.cpp
  
 | 
This will make cl.exe to compile each file in separate process. This is available since VS2005. 
If you have only one translation unit use /cgthreads argument. It will use 4 threads for code generation and optimizations. You can use number 1 to 8 to specify exactly how many threads to use. This is available since VS2013.
You can use both switches together.