# VEP...how many threads per instance do you run?



## IFM (Mar 20, 2016)

I haven't seen this brought up in a while and was curious. Should VEP be running with as many threads as possible per instance or as few as possible? 

Chris


----------



## jneebz (Mar 20, 2016)

From the v5 manual, if this helps:

"You may change the number of used threads in the *Multiprocessing *drop-down menu in real-time, and each Vienna Ensemble PRO instance will use the specified number of process threads. So 1 instance on an 8-core computer should use 8 threads, 2 instances should use 4 threads, and so forth. Ideally you should have as few threads as possible while still using all your cores. If you're also running your host sequencer on the same system as the running instances, it might be wise to reserve a core for it. 

To keep it simple, set the amount of threads to your amount of cores. If you run into performance issues, lower the amount of threads."


----------



## JohnG (Mar 20, 2016)

it also depends on whether you're talking about a slave or your main DAW computer.

Unfortunately, it seems to be trial and error.


----------



## URL (Mar 21, 2016)

JohnG said:


> it also depends on whether you're talking about a slave or your main DAW computer.
> 
> Unfortunately, it seems to be trial and error.


yepp as always in DAW-life


----------



## NYC Composer (Mar 21, 2016)

2, because my old Mac Pro seems to like 2 better than 1.


----------



## URL (Mar 21, 2016)

I use 2 threads with 8-core/64 Gb pc as slave...145 instances for Logic Pro X.


----------



## IFM (Mar 21, 2016)

JohnG said:


> it also depends on whether you're talking about a slave or your main DAW computer.
> 
> Unfortunately, it seems to be trial and error.



This is why I posed the question. On the Mac Pro 12 core which is my main DAW machine I have left it at two. One seemed to be a bit too few and going all the way to full clipped the system.
However on the PC slave I have it maxed at 8 with no issues. 

I knew what the manual said but that was written long ago and not always reflective of real world usage. John I think you pretty much summed it up with trial and error.


----------



## azeteg (Mar 21, 2016)

URL said:


> I use 2 threads with 8-core/64 Gb pc as slave...145 instances for Logic Pro X.



May I ask why you are using so many instances? 145 instances equals 2320 accessible MIDI channels...


----------



## wbacer (Mar 21, 2016)

IFM said:


> This is why I posed the question. On the Mac Pro 12 core which is my main DAW machine I have left it at two. One seemed to be a bit too few and going all the way to full clipped the system.
> However on the PC slave I have it maxed at 8 with no issues.
> 
> I knew what the manual said but that was written long ago and not always reflective of real world usage. John I think you pretty much summed it up with trial and error.


Based on advise from Jay Asher, I set VEP at 2 threads.
I'm running Logic X on my 2013 Mac Pro 12 core, and it works great.


----------



## URL (Mar 21, 2016)

azeteg said:


> May I ask why you are using so many instances? 145 instances equals 2320 accessible MIDI channels...



access to samples to avoid having to reload and "unload", can happily imagine 500 or more if only
there were computer power and a larger wallet...


----------



## stonzthro (Mar 21, 2016)

azeteg said:


> May I ask why you are using so many instances? 145 instances equals 2320 accessible MIDI channels...


Likely that in Logic it is often better to run more instances of VEP and lesser instruments in each VEP instance.


----------



## URL (Mar 21, 2016)

One instrument for each VEP instance...


----------



## URL (Mar 21, 2016)

wbacer said:


> Based on advise from Jay Asher, I set VEP at 2 threads.
> I'm running Logic X on my 2013 Mac Pro 12 core, and it works great.



May I ask your setup for Mac Pro 2013 12-core, is it 6.1 modell?


----------



## URL (Mar 21, 2016)

azeteg said:


> May I ask why you are using so many instances? 145 instances equals 2320 accessible MIDI channels...


Only use 1 midi channel


----------



## whinecellar (Mar 21, 2016)

I just added a big PC slave to my existing 4 Mac network, and on all of them, VEP is set to 2 threads. Never had a problem yet. As for number of instances, I'm at (39) 16-channel multi instances of VEP in Logic - so 624 MIDI channels/instruments/tracks. Again, no problems whatsoever. I can't imagine managing all that any other way...


----------



## IFM (Mar 21, 2016)

All of you with these many instances makes me wonder on how long the connection time takes? For my on C8 it just takes some time to connect and I think I might swap for the VST2 version of VEP instead of VST3 on any instrument tracks...basically how I would do it in LPX...and see how long it takes.


----------



## whinecellar (Mar 21, 2016)

IFM said:


> All of you with these many instances makes me wonder on how long the connection time takes?


I just timed it: from a cold boot, it takes just over 13 seconds from the time I double-click my template until LPX is open and ready to play. That's almost 800 tracks over 39 VEP instances, a bunch of EXS24s, etc.


----------



## milesito (Mar 21, 2016)

jneebz said:


> From the v5 manual, if this helps:
> 
> "You may change the number of used threads in the *Multiprocessing *drop-down menu in real-time, and each Vienna Ensemble PRO instance will use the specified number of process threads. So 1 instance on an 8-core computer should use 8 threads, 2 instances should use 4 threads, and so forth. Ideally you should have as few threads as possible while still using all your cores. If you're also running your host sequencer on the same system as the running instances, it might be wise to reserve a core for it.
> 
> To keep it simple, set the amount of threads to your amount of cores. If you run into performance issues, lower the amount of threads."



Shouldn't the equation change if you have an i7 with hyper threading? That doubles the threads processed per core right?


----------



## URL (Mar 21, 2016)

whinecellar said:


> I just timed it: from a cold boot, it takes just over 13 seconds from the time I double-click my template until LPX is open and ready to play. That's almost 800 tracks over 39 VEP instances, a bunch of EXS24s, etc.


what 13 sec, that can't be true, all the computers at the same time or just the master, the slaves are on line, your setup please?


----------



## IFM (Mar 21, 2016)

Wow something must be amiss on my end. I used to have a faster connection time but now it takes what feels like ages. I've even set up a 2nd network dedicated to VEP.


----------



## wbacer (Mar 21, 2016)

URL said:


> May I ask your setup for Mac Pro 2013 12-core, is it 6.1 modell?


According to the Mac Pro Hardware Overview page:
Model Name: Mac Pro
Model Identifier: MacPro6,1
Processor Name: 12-Core Intel Xeon E5
Processor Speed: 2.7 GHz
Number of Processors: 1
Total Number of Cores: 12
L2 Cache (per Core): 256 KB
L3 Cache: 30 MB
Memory: 128 GB
Boot ROM Version: MP61.0116.B16
SMC Version (system): 2.20f18
Illumination Version: 1.4a6

I hope this helps.


----------



## URL (Mar 21, 2016)

wbacer said:


> According to the Mac Pro Hardware Overview page:
> Model Name: Mac Pro
> Model Identifier: MacPro6,1
> Processor Name: 12-Core Intel Xeon E5
> ...


Thanks what a machine, do you use thunderbolt raid for ssd and for Pci-E cards?


----------



## whinecellar (Mar 21, 2016)

URL said:


> what 13 sec, that can't be true, all the computers at the same time or just the master, the slaves are on line, your setup please?


Yep, true - all machines connected and ready to play. Here you go:

Main Mac = Retina MacBook Pro (mid 2014) Quad i7, 16 GB RAM, OSX 10.11.3, running Logic 10.2.2, samples on an OWC Thunderbay 4 Mini with Samsung 850 EVO SSDs
Mac slave 1 = Mac Mini 2012 with 2 internal SSDs, 16 GB RAM
Mac slave 2 = MacBook Pro 2010 Core2Duo with 2 internal SSDs, 8GB RAM
Mac slave 3 = iMac 2010 Core2Duo with internal SSD, 16 GB RAM
PC slave = Quad i7 6700k Skylake at 4.2 GHz, 64 GB RAM, Win10Pro, (4) Samsung 850 EVO SSDs
VE Pro 5.4.14074 on all machines


----------



## IFM (Mar 21, 2016)

I'm running a 5,1 12-core. It is no slouch and I used to connect faster with my Mac Mini...BUT I was also running a single network and it was shared with the internet...I just had the VEP machines on their own switch. Time to do some experiments.

Jim, are you also running a single network for all this?

Thanks.


----------



## whinecellar (Mar 21, 2016)

IFM said:


> Jim, are you also running a single network for all this?



Not sure I follow what you mean by "single network"? I have all my machines connected to an ethernet switch, and that is connected to my router for internet. Hope that helps!


----------



## IFM (Mar 21, 2016)

whinecellar said:


> Not sure I follow what you mean by "single network"? I have all my machines connected to an ethernet switch, and that is connected to my router for internet. Hope that helps!



Yes that is what I mean. On the MP you get two Ethernet ports and I run one for Internet and one for VEP. Everything is gigabit but it is possible VEP is doing some searching when two networks are present.


----------



## whinecellar (Mar 21, 2016)

IFM said:


> Yes that is what I mean. On the MP you get two Ethernet ports and I run one for Internet and one for VEP. Everything is gigabit but it is possible VEP is doing some searching when two networks are present.


Ah yes - that makes sense. I have noticed that if one of my slave machines isn't loaded with the expected metaframes, it does take a while to load the Logic session, because it scans the network.


----------



## URL (Mar 21, 2016)

whinecellar said:


> Yep, true - all machines connected and ready to play. Here you go:
> 
> Main Mac = Retina MacBook Pro (mid 2014) Quad i7, 16 GB RAM, OSX 10.11.3, running Logic 10.2.2, samples on an OWC Thunderbay 4 Mini with Samsung 850 EVO SSDs
> Mac slave 1 = Mac Mini 2012 with 2 internal SSDs, 16 GB RAM
> ...


----------



## azeteg (Mar 21, 2016)

URL said:


> Only use 1 midi channel



Why?


----------



## URL (Mar 21, 2016)

don't need anymore then 1.


----------



## azeteg (Mar 21, 2016)

URL said:


> don't need anymore then 1.



But why don't you use more instruments per instance, filling up all 16 midi channels? That would be more efficient, and also more convenient, I would think.


----------



## URL (Mar 21, 2016)

azeteg said:


> But why don't you use more instruments per instance, filling up all 16 midi channels? That would be more efficient, and also more convenient, I would think.



Please explain why it is more efficient and practical, for me, I do not have to setup midi channels to keep track of and divide the instruments of audio channels, I separate all of Logic in groups and mix in Logic. If it is more efficient in terms of computing power
so it's ok, I'll save a mframe for each Logic session so they are unique.


----------



## givemenoughrope (Mar 21, 2016)

I run one per machine. MBP-host, MMx2, PCx3.


----------



## URL (Mar 21, 2016)

I also think it would be better to group instrument in the Vep mframe as lib- not in kontakt, that would be more efficient and practical


----------



## wbacer (Mar 21, 2016)

URL said:


> Thanks what a machine, do you use thunderbolt raid for ssd and for Pci-E cards?


I have an Apogee Symphony I/O that's connected with their Thunderbridge interface via Thunderbolt 2.
I also have two OWC ThunderBay 4 mini enclosures each houses 4 1TB Samsung SSDs via Thunderbolt 2, no RAID.
I don't even have to think about the technology, it just works.


----------



## IFM (Mar 21, 2016)

whinecellar said:


> Ah yes - that makes sense. I have noticed that if one of my slave machines isn't loaded with the expected metaframes, it does take a while to load the Logic session, because it scans the network.



Did some testing in both LPX and C8 and it just takes a long time to connect to the PC no matter what. If I'm running VEP locally or on a Mac slave it's quick. The PC is win10.


----------



## URL (Mar 21, 2016)

IFM said:


> Did some testing in both LPX and C8 and it just takes a long time to connect to the PC no matter what. If I'm running VEP locally or on a Mac slave it's quick. The PC is win10.



I use win 7 on slave, yes it works, but Mac is quicker to start up and run, OS X is so nice.


----------



## azeteg (Mar 22, 2016)

URL said:


> Please explain why it is more efficient and practical, for me, I do not have to setup midi channels to keep track of and divide the instruments of audio channels, I separate all of Logic in groups and mix in Logic. If it is more efficient in terms of computing power
> so it's ok, I'll save a mframe for each Logic session so they are unique.



It is simply not what I had in mind when developing VE Pro. You are of course free to use it any way you like, however 

Running that many instances will:
- increase the overhead from network protocol
- increase the total thread count, generating more context switching and cache misses
- make finding your instruments quite a hassle



URL said:


> I also think it would be better to group instrument in the Vep mframe as lib- not in kontakt, that would be more efficient and practical



I'm afraid I don't really understand what this means. Could you elaborate?


----------



## URL (Mar 22, 2016)

azeteg said:


> It is simply not what I had in mind when developing VE Pro. You are of course free to use it any way you like, however
> 
> Running that many instances will:
> - increase the overhead from network protocol
> ...



Sorry for my bad expression in english...hope I got this more understandable.
I mean that it seems unnecessary to use multiple MIDI channels and audio channels... I think the idea that each instrument is an instance is the way to go ... today I might use most 70-80 instances at the same time the only area that has created the problem has been memory in the master that is old machine.
If I messure in windows 7 slave.
-Network do not peak
-Processor do not peak
-ssd have little dicey sometimes, poor distribution of sample ... on the SSD, I think
-in Mframe, I think (if this is a problem) could organize/cataloging sample lib, not Kontakt, Spitfire, or Strings... as we do in Logic, Cubase...
Network from Kontakt is already us a kind of timeslots you separate them with midi and audio in the stream to the
DAW computer so... I understand if the network protocol have limitation for this and VEP have to adapt I think Vep is great way to handle multiple instrument setup.

If one use 300-1000 instrument at the same time, that maybe a other Q....or


----------



## IFM (Mar 22, 2016)

azeteg said:


> It is simply not what I had in mind when developing VE Pro. You are of course free to use it any way you like, however
> 
> Running that many instances will:
> - increase the overhead from network protocol
> ...



It is nice having the man behind the scenes in on this one.  

I tried just running two instances last night and it didn't work out as I hit the CPU ceiling rather quickly. The two instances are for HS and HB on the slave PC.
If I run one instance per instrument and divide the articulations into channels then I can achieve a lot of more out of the same machine. This of course is because of the dual buffers in either LPX or C8.

I was also trying out using the VST2 version instead of VST3 last night but it seemed to start hanging C8. 

Chris


----------



## NYC Composer (Mar 22, 2016)

Martin, 

First of all, thank you so much for VEP! It is one of my few essential pieces of software.

On my 2008 Mac Pro and Mini slave running Cubase 6, the sweet spot seems to be about 15-19 instances doing various things but usually only 8-16 channels of either K5 or Play per instance. That's with a buffer of two. I know you meant there to be less, fuller instances, but in a number of experiments, that one seemed to work the best.


----------



## URL (Mar 22, 2016)

When I measure network streaming on say 70 instances I have 5-7% in use of the amount of network capacity, so there could be more network could handle, for me it seems that spikes I had was related to memory and a change of cache is helping to solve that problem, but of course sometime you end up with to little process power and no large memory/cache or network is not gonna help, its a balance


----------



## whinecellar (Mar 22, 2016)

IFM said:


> Did some testing in both LPX and C8 and it just takes a long time to connect to the PC no matter what. If I'm running VEP locally or on a Mac slave it's quick. The PC is win10.



Hey Chris, have you looked into your advanced network settings on the PC? As I mentioned earlier, I'm new to the whole PC world - I just got this new slave a few weeks ago. I was having some random crashes when trying to connect to VEP instances on the slave, and tweaking some network settings seems to have helped. I'll have to look them up and get back to you, but the main one was making sure it was set to full duplex Gbit vs. auto-negotiate. The connection itself has always been fast for me though...


----------



## azeteg (Mar 23, 2016)

IFM said:


> I tried just running two instances last night and it didn't work out as I hit the CPU ceiling rather quickly. The two instances are for HS and HB on the slave PC.
> If I run one instance per instrument and divide the articulations into channels then I can achieve a lot of more out of the same machine. This of course is because of the dual buffers in either LPX or C8.



It could be related to the burst performance of your hosted instruments/libraries. A properly written instrument shouldn't be particularly heavy for event processing, but many of the scripted instruments can have some issues there.

Running fewer instruments per instance then might improve things, as you have noticed. It remains a mystery to me how one could release an instrument giving such peaks in the realtime thread, however...


----------



## IFM (Mar 23, 2016)

azeteg said:


> It could be related to the burst performance of your hosted instruments/libraries. A properly written instrument shouldn't be particularly heavy for event processing, but many of the scripted instruments can have some issues there.
> 
> Running fewer instruments per instance then might improve things, as you have noticed. It remains a mystery to me how one could release an instrument giving such peaks in the realtime thread, however...



It is actually that very reason as I'm only hosting PLAY instruments on the PC Slave (HS Diamond and HB Gold). I have a number of spare hard drives so I am doing a Win7 install and a couple other maintenance things to see if anything improves.

Chris


----------



## URL (Mar 23, 2016)

I have not tested win 10 in this performances multiple instrument/instances as one, its there anyone who use multiple instances with one instrument in win 10 for Logic X or Cubase 8?


----------



## whinecellar (Mar 23, 2016)

URL said:


> ...is there anyone who use multiple instances with one instrument in win 10 for Logic X or Cubase 8?



Yes - see my previous post earlier in the thread. I'm using 39 or more instances of VE Pro, each with 16 instruments/MIDI channels, and about 20 of them are on my slave PC which runs Win10 Pro.


----------



## URL (Mar 23, 2016)

whinecellar said:


> Yes - see my previous post earlier in the thread. I'm using 39 or more instances of VE Pro, each with 16 instruments/MIDI channels, and about 20 of them are on my slave PC which runs Win10 Pro.


yes but not as single instrument/instances- still win 10 seems to be stable i think Its time to do a test with win 10 in different setups and see how that goes... win 7 soon out of business...


----------



## whinecellar (Mar 23, 2016)

URL said:


> yes but not as single instrument/instances- still win 10 seems to be stable i think Its time to do a test with win 10 in different setups and see how that goes... win 7 soon out of business...


Oh, sorry - I see what you meant now


----------



## Dominik (Feb 12, 2020)

Hi there,

this is an old thread but I am new to the game with VEP and I need some clarification on the instances matter. The manual is really not very detailed.

I want to use VEP with instrument tracks on Cubase. I don´t like working with midi channels and the respective folder chaos and routing which makes a project complex to work with. But as I understand it correctly VEP works best with less instances. If I want to work with instrument tracks I need a big amount of instances and the question which arises there is how is this managed inside VEP regarding the thread count you can set to the individual instances.
As I understand it, if you have 4 instances and 8 (virtual) cores you should give each instance 2threads.
If you have 8 instances you should assign 1 thread per instance. But what if you have many more instances than threads??


----------

