Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > Technical threads

Technical threads All discussions about technical issues

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 03-26-2011, 11:42 PM
SEE SEE is offline
Approved Member
 
Join Date: Oct 2009
Posts: 1,678
Default

Feuerfalke has just posted a link that clearly states Multicore support was not a high priority during development but that CoD uses 'multi threading'. I don't understand the mechanics of this but I do find the minimum and preferred specs that were released a bit confusing given that performance on Dual core v multicore with identical Ram and GFX seems fairly similar. Best to read the interview linked in another thread byTREE UK.

Yes the Cnfg is posted at simhq no mention of OPenGL.

keep an eye on their thread, they are evaluating CPU control 2.1 as a posssible means to share the load across mutliple cores based on info/results from the Russian forums.

Last edited by SEE; 03-27-2011 at 12:12 AM.
  #2  
Old 03-27-2011, 12:18 AM
flyingbullseye flyingbullseye is offline
Approved Member
 
Join Date: Jul 2008
Posts: 185
Default

Quote:
Originally Posted by SEE View Post
Yes the Cnfg is posted at simhq no mention of OPenGL.
OpenGL was mentioned specifically in an interview with Oleg something like a year ago. He said COD is a DX only sim.

Flyingbullseye
  #3  
Old 03-27-2011, 12:26 AM
Heliocon Heliocon is offline
Approved Member
 
Join Date: Dec 2010
Posts: 651
Default

Quote:
Originally Posted by SEE View Post
Feuerfalke has just posted a link that clearly states Multicore support was not a high priority during development but that CoD uses 'multi threading'. I don't understand the mechanics of this but I do find the minimum and preferred specs that were released a bit confusing given that performance on Dual core v multicore with identical Ram and GFX seems fairly similar. Best to read the interview linked in another thread byTREE UK.

Yes the Cnfg is posted at simhq no mention of OPenGL.

keep an eye on their thread, they are evaluating CPU control 2.1 as a posssible means to share the load across mutliple cores based on info/results from the Russian forums.
I read the article - multicore and mutlithreading are the exactly the same thing. Simplified - each cpu core has a thread, single core cpus have 1 thread, duals have 2, quads (like i5) have 4. Now i7 have 8 threads but only 4 cores. Each core is dual threaded. So a core can have more than 1 thread, (intel calls it hyperthreading). For a program though there is no distinction as they are all seen as "virtual cores".

@flying - they used to be d9+openGL, they left open gl to do dx10 (which seems to be absent).
  #4  
Old 03-27-2011, 12:41 AM
recoilfx recoilfx is offline
Approved Member
 
Join Date: Jul 2010
Posts: 265
Default

Quote:
Originally Posted by Heliocon View Post
I read the article - multicore and mutlithreading are the exactly the same thing. Simplified - each cpu core has a thread, single core cpus have 1 thread, duals have 2, quads (like i5) have 4. Now i7 have 8 threads but only 4 cores. Each core is dual threaded. So a core can have more than 1 thread, (intel calls it hyperthreading). For a program though there is no distinction as they are all seen as "virtual cores".

@flying - they used to be d9+openGL, they left open gl to do dx10 (which seems to be absent).
Actually multi-thread and multi-core are different.

CPUs can have more or elss unlimited threads (till memory/resources run out) - a thread is a small unit of processing block that the OS can schedule.

All threads within the mutli-threaded program must share the same core - unless they are multi-process (utilizing multiple cores).

See: http://en.wikipedia.org/wiki/Multith...rchitecture%29

Last edited by recoilfx; 03-27-2011 at 12:44 AM.
  #5  
Old 03-27-2011, 01:08 AM
Heliocon Heliocon is offline
Approved Member
 
Join Date: Dec 2010
Posts: 651
Default

Quote:
Originally Posted by recoilfx View Post
Actually multi-thread and multi-core are different.

CPUs can have more or elss unlimited threads (till memory/resources run out) - a thread is a small unit of processing block that the OS can schedule.

All threads within the mutli-threaded program must share the same core - unless they are multi-process (utilizing multiple cores).

See: http://en.wikipedia.org/wiki/Multith...rchitecture%29
Sorry let me rephrase that - In this case mutlicore and multithreading is used to reach the same end result. (I indicated that this was a simplified explanation.). The wiki article is a bit outdated/strange as was noted at its start and its about the wrong type of "multithreading", completely different as it actually states it there in the first line. You are looking for this : http://en.wikipedia.org/wiki/Multiprocessing
Or later in the aricle this: http://en.wikipedia.org/wiki/Simulta...multithreading

You are getting your definitions confused. CPU's can have multiple threads, but thats not what we are talking, because in the case of that wiki we are talking about active and innactive threads. So the cpu performs an action on a threads/process, then jumps and does another action on another thread. It is all done in a serial fashion.
When we refer to cores/threads in the context here we are talking about multiple *Simulatnous* threads. Ie its running 2 threads at once. Classically each CPU can run a single thread (which then jumps from process/thread to thread completing tasks, but it happens so quickly you dont notice that it is running everything on the computer by jumping around). Now if a cpu has multiple threads like a i7 hyperthreaded or a upcoming AMD bulldozer which uses hardwarethreading (its actually routed/processed in the core differently as the threads are manufactured, not simulated) it can run 2 tasks simultaneously. For example it can still have hundreds of proccesses but now you have 2 threads/streams doing the work that 1 did previously (the 2 work both at the same time, so before it might of run: game->steam->internet explorer->OS->game->OS. But with 2 threads it might be: 1:->game->game->game->game. 2:->OS->Internet explored->OS->Steam etc. So it allows a sharing of tasks of the ability to divide tasks up in order to "focus" on a process/thread.

Last edited by Heliocon; 03-27-2011 at 01:11 AM.
  #6  
Old 03-27-2011, 01:45 AM
manfromx manfromx is offline
Approved Member
 
Join Date: Nov 2007
Posts: 30
Default

I'm in school learning about things like multiprocessing and multithreading right now actually. Heliocon is closest to the truth.

Definition of a thread
Quote:
4. Computer Science
a. A portion of a program that can run independently of and concurrently with other portions of the program.
Threads are parts of the main process that typically have a much smaller workload than the main process. In single processor systems, programs still benefit from being multi-threaded for various reasons. However as Heliocon said, they are still processed in a serial fashion. On a multi-core system you can actually run these threads simultaneously on the other cores.

Since the Clod team has stated it's multi-threaded to run on multiple cores I'll believe them (maybe there is a bug currently, I don't know why the cpu usage is only showing on 1). What functions can be run on the extra cores is the main point. If only simpler functions can be run on them you'll see only slight gains from multi-core.

I've just really started coding and I can already see that getting the timing of your code and its threads to all match up so you have a smooth experience must be a huge pain. If some functions are always waiting on others you'll just grind to a halt.

If you guys are willing to check out the thread article on wiki
http://en.wikipedia.org/wiki/Thread_(computer_science)
you might get a headache but you'll see this is not a simple thing.
  #7  
Old 03-27-2011, 01:57 AM
recoilfx recoilfx is offline
Approved Member
 
Join Date: Jul 2010
Posts: 265
Default

Quote:
Originally Posted by Heliocon View Post
Sorry let me rephrase that - In this case mutlicore and multithreading is used to reach the same end result. (I indicated that this was a simplified explanation.). The wiki article is a bit outdated/strange as was noted at its start and its about the wrong type of "multithreading", completely different as it actually states it there in the first line. You are looking for this : http://en.wikipedia.org/wiki/Multiprocessing
Or later in the aricle this: http://en.wikipedia.org/wiki/Simulta...multithreading

You are getting your definitions confused. CPU's can have multiple threads, but thats not what we are talking, because in the case of that wiki we are talking about active and innactive threads. So the cpu performs an action on a threads/process, then jumps and does another action on another thread. It is all done in a serial fashion.
When we refer to cores/threads in the context here we are talking about multiple *Simulatnous* threads. Ie its running 2 threads at once. Classically each CPU can run a single thread (which then jumps from process/thread to thread completing tasks, but it happens so quickly you dont notice that it is running everything on the computer by jumping around). Now if a cpu has multiple threads like a i7 hyperthreaded or a upcoming AMD bulldozer which uses hardwarethreading (its actually routed/processed in the core differently as the threads are manufactured, not simulated) it can run 2 tasks simultaneously. For example it can still have hundreds of proccesses but now you have 2 threads/streams doing the work that 1 did previously (the 2 work both at the same time, so before it might of run: game->steam->internet explorer->OS->game->OS. But with 2 threads it might be: 1:->game->game->game->game. 2:->OS->Internet explored->OS->Steam etc. So it allows a sharing of tasks of the ability to divide tasks up in order to "focus" on a process/thread.
Oops, I guess I did get my definition wrong. I was always under the impression that applications are bound to one processor unless they are multicore aware, even if they are multi threaded. I guess I was wrong!
  #8  
Old 03-27-2011, 03:15 AM
Heliocon Heliocon is offline
Approved Member
 
Join Date: Dec 2010
Posts: 651
Default

Quote:
Originally Posted by recoilfx View Post
Oops, I guess I did get my definition wrong. I was always under the impression that applications are bound to one processor unless they are multicore aware, even if they are multi threaded. I guess I was wrong!
Dont worry about it. Programming is not my area (I am more into graphics because I dont have the patience to bughunt) and when I am typing I occasionally sit and stare at the monitor (thinking wtf am I typing?) because there are so many terms and the tech changes so fast that it can get overwhelming/confusing.

@Tanner - What I was thinking, ironic isnt it?
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:06 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.