- Apr 27, 2000
- 21,629
- 10,841
- 136
Cue up Bob the Builder intro music.
Some of you may remember this thread in which Ian Cutress showed some code which is allegedly representative of what is in his 3DPM benchmark. Subsequent posts by bronxzv and JoeRambo go into some detail as to why the code is perhaps less-than-great. We still haven't gotten solid answers as to whether or not the actual code in the 3DPM benchmark is just as flawed, but results seem to indicate that the false cache line sharing issue pointed out by bronxzv in post 226 is in full effect. I expect that 3DPM could be made faster on Intel processors and considerably faster on AMD processors by restructuring the program as recommended in post 226 (or something similar).
Without the full source code, a complete fix of the existing benchmark is impossible. Dr. Cutress has not released all of the source. What we CAN do is attempt to reproduce one of the six testing stages (Stage 1: TRIG) by examining the code presented by Dr. Cutress in the above posts. Perhaps we can do more with his cooperation.
I'll throw my hat into the ring with a Java implementation, though I am uncertain as to what it is that is represented by the benchmark scores. For example, locked at 3.4 ghz, my 7700k scores ~43 in Stage 1 (which is the second-fastest stage for me; Stage 2 is a bit higher with ~50). What does that score mean? Without knowing more about the scores produced by 3DPM, it would be difficult to compare results from an "optimized" version of 3DPM (or an approximation thereof) with the original.
edit: apparently the score means "millions of particle movements per second".
Software is now available:
https://www.dropbox.com/s/k18zcf6yza6e63k/3DPMRedux7122015.zip?dl=0
There's a simple file called runme.bat inside the archive. Just extract the archive somewhere and double-click runme.bat and it should start right up. Java 8 required. Source is here:
https://www.dropbox.com/s/artotdvmbra5c1l/3DPMReduxSource7122015.zip?dl=0
Older builds
792015:
https://www.dropbox.com/s/mxzoy30cj79n3u2/3DPMRedux792015.zip?dl=0
source:
https://www.dropbox.com/s/yne3bdaeusmqndy/3DPMReduxSource792015.zip?dl=0
782015:
https://www.dropbox.com/s/c2pd4hicoy93bdb/3DPMRedux782015.zip?dl=0
source:
https://www.dropbox.com/s/i8alkrsn99so3r7/3DPMReduxSource782015.zip?dl=0
6222015:
https://www.dropbox.com/s/vpa8t5yl04ajape/3DPMRedux6222015.zip?dl=0
source:
https://www.dropbox.com/s/enz9kz2u8up8v2x/3DPMReduxSource6222015.zip?dl=0
6162015:
https://www.dropbox.com/s/158tbdoo8rwdno8/3DPMRedux6162015.zip?dl=0
source:
https://www.dropbox.com/s/crjlp6tnk5twoab/3DPMReduxSource6162015.zip?dl=0
6132015:
https://www.dropbox.com/s/a7j864pdnu30gld/3DPMRedux6132015.zip?dl=0
source:
https://www.dropbox.com/s/471xjzpykaze7s9/3DPMReduxSource6132015.zip?dl=0
6112015:
https://www.dropbox.com/s/ro1wyazng8i6qwq/3DPMRedux6112015.zip?dl=0
source:
https://www.dropbox.com/s/qo06kpljlbom6u0/3DPMReduxSource6112015.zip?dl=0
692015:
https://www.dropbox.com/s/5k0ckp9ltj2hdmg/3DPMRedux692015.zip?dl=0
source:
https://www.dropbox.com/s/lysfssq8p7vlwbe/3DPMReduxSource692015.zip?dl=0
Results reporting
If you wish to report results in this thread (which I highly encourage), here are my recommendations:
1). Report the build first. Example: build released on 6/9/2015 is 692015.
2). Make sure to let us know if you are running in single-threaded or multi-threaded mode.
2). Try running it 2-3 times to see what kind of variations you get. They're small, but they do exist.
3). While results from all the different settings could prove useful, results from selections 3-5 will probably be the most useful.
4). Please also report your results from Stage 1 of Dr. Ian Cutress' 3DPM program. Let us know if you are using the single-threaded or multi-threaded version of the program.
You will see that the formatting of results.txt is such that it makes it easy for you to report build, steps, threading, and completion time just by copy/pasting from the file. 3DPMRedux will append future results (it does not delete results.txt), so you can carry the same results file over between versions to keep a record of all your results.
For now, I have applied no license to the software with the understanding that it is derivative of a code snippet posted by Dr. Ian Cutress earlier this year. Until I have a chance to discuss the matter with him, I'm going to hold open the possibility that, legally speaking, this code may fall under his copyright.
Until I have had a chance to discuss the matter with him or receive an authoritative legal opinion on the matter, I offer the code and binaries in the same spirit in which the original code snippet was shared on this forum. Note that it would otherwise be my intention to offer the software under a BSD 2-clause license.
Further discussion of this software is in subsequent posts (check 17 and later).
Some of you may remember this thread in which Ian Cutress showed some code which is allegedly representative of what is in his 3DPM benchmark. Subsequent posts by bronxzv and JoeRambo go into some detail as to why the code is perhaps less-than-great. We still haven't gotten solid answers as to whether or not the actual code in the 3DPM benchmark is just as flawed, but results seem to indicate that the false cache line sharing issue pointed out by bronxzv in post 226 is in full effect. I expect that 3DPM could be made faster on Intel processors and considerably faster on AMD processors by restructuring the program as recommended in post 226 (or something similar).
Without the full source code, a complete fix of the existing benchmark is impossible. Dr. Cutress has not released all of the source. What we CAN do is attempt to reproduce one of the six testing stages (Stage 1: TRIG) by examining the code presented by Dr. Cutress in the above posts. Perhaps we can do more with his cooperation.
I'll throw my hat into the ring with a Java implementation, though I am uncertain as to what it is that is represented by the benchmark scores. For example, locked at 3.4 ghz, my 7700k scores ~43 in Stage 1 (which is the second-fastest stage for me; Stage 2 is a bit higher with ~50). What does that score mean? Without knowing more about the scores produced by 3DPM, it would be difficult to compare results from an "optimized" version of 3DPM (or an approximation thereof) with the original.
edit: apparently the score means "millions of particle movements per second".
Software is now available:
https://www.dropbox.com/s/k18zcf6yza6e63k/3DPMRedux7122015.zip?dl=0
There's a simple file called runme.bat inside the archive. Just extract the archive somewhere and double-click runme.bat and it should start right up. Java 8 required. Source is here:
https://www.dropbox.com/s/artotdvmbra5c1l/3DPMReduxSource7122015.zip?dl=0
Older builds
792015:
https://www.dropbox.com/s/mxzoy30cj79n3u2/3DPMRedux792015.zip?dl=0
source:
https://www.dropbox.com/s/yne3bdaeusmqndy/3DPMReduxSource792015.zip?dl=0
782015:
https://www.dropbox.com/s/c2pd4hicoy93bdb/3DPMRedux782015.zip?dl=0
source:
https://www.dropbox.com/s/i8alkrsn99so3r7/3DPMReduxSource782015.zip?dl=0
6222015:
https://www.dropbox.com/s/vpa8t5yl04ajape/3DPMRedux6222015.zip?dl=0
source:
https://www.dropbox.com/s/enz9kz2u8up8v2x/3DPMReduxSource6222015.zip?dl=0
6162015:
https://www.dropbox.com/s/158tbdoo8rwdno8/3DPMRedux6162015.zip?dl=0
source:
https://www.dropbox.com/s/crjlp6tnk5twoab/3DPMReduxSource6162015.zip?dl=0
6132015:
https://www.dropbox.com/s/a7j864pdnu30gld/3DPMRedux6132015.zip?dl=0
source:
https://www.dropbox.com/s/471xjzpykaze7s9/3DPMReduxSource6132015.zip?dl=0
6112015:
https://www.dropbox.com/s/ro1wyazng8i6qwq/3DPMRedux6112015.zip?dl=0
source:
https://www.dropbox.com/s/qo06kpljlbom6u0/3DPMReduxSource6112015.zip?dl=0
692015:
https://www.dropbox.com/s/5k0ckp9ltj2hdmg/3DPMRedux692015.zip?dl=0
source:
https://www.dropbox.com/s/lysfssq8p7vlwbe/3DPMReduxSource692015.zip?dl=0
Results reporting
If you wish to report results in this thread (which I highly encourage), here are my recommendations:
1). Report the build first. Example: build released on 6/9/2015 is 692015.
2). Make sure to let us know if you are running in single-threaded or multi-threaded mode.
2). Try running it 2-3 times to see what kind of variations you get. They're small, but they do exist.
3). While results from all the different settings could prove useful, results from selections 3-5 will probably be the most useful.
4). Please also report your results from Stage 1 of Dr. Ian Cutress' 3DPM program. Let us know if you are using the single-threaded or multi-threaded version of the program.
You will see that the formatting of results.txt is such that it makes it easy for you to report build, steps, threading, and completion time just by copy/pasting from the file. 3DPMRedux will append future results (it does not delete results.txt), so you can carry the same results file over between versions to keep a record of all your results.
For now, I have applied no license to the software with the understanding that it is derivative of a code snippet posted by Dr. Ian Cutress earlier this year. Until I have a chance to discuss the matter with him, I'm going to hold open the possibility that, legally speaking, this code may fall under his copyright.
Until I have had a chance to discuss the matter with him or receive an authoritative legal opinion on the matter, I offer the code and binaries in the same spirit in which the original code snippet was shared on this forum. Note that it would otherwise be my intention to offer the software under a BSD 2-clause license.
Further discussion of this software is in subsequent posts (check 17 and later).
Last edited: