News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

A New Testbed for MASM32 Forum

Started by frktons, September 21, 2010, 05:25:26 PM

Previous topic - Next topic

frktons

Quote from: Antariy on November 09, 2010, 01:55:55 AM
... and test-bed must be self destructable - to not mess a hard disk of the tester  :P  :bg

I'll see what I can do  :lol

By the way, after the Display Mode 12/24 will be ready, I need to implement the Run key
and get rid of the external files. The Release 1.0 will be shipped when all these things are
ready and working fine.
After that, some improvements on the single PROCs and internal Algos of the TestBed
could or not take place, it will depend on other projects I want to develop.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 02:11:54 AM
Quote from: Antariy on November 09, 2010, 01:55:55 AM
... and test-bed must be self destructable - to not mess a hard disk of the tester  :P  :bg

I'll see what I can do  :lol

Be careful - do not make big bang  :lol

frktons

#122
Added XMM version of conversion from byte string to word string.
It seems like this is the most efficient way.


┌────────────────────────────────────────────────────────────────────────────────────────┐
│OS  : Microsoft Windows 7 Ultimate Edition, 64-bit (build 7600)                         │
│CPU : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz with MMX, SSE1, SSE2, SSE3, SSSE3           │
│                                                                                        │
│Test: Conversion of a screen buffer from DOS to Windows CHAR_INFO structure             │
├─────────────────────────────────┬─────────┬──────────┬──────────┬──────────┬──────────┬┤
│        Algorithm notes          │Proc Size│ Test # 1 │ Test # 2 │ Test # 3 │ Test # 4 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│01 Alex / MMX - PUNPCKLBW        │   62    │    6.276 │    6.007 │    5.982 │    5.981 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│02 Frank / 486 - MOV-BSWAP       │   43    │    8.352 │    8.382 │    8.375 │    8.347 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    2.338 │    2.338 │    2.339 │    2.338 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤


Attached the newest version.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 01:28:11 PM
Added XMM version of conversion from byte string to word string.
................
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    2.338 │    2.338 │    2.339 │    2.338 ││

Which clocks it have, if use MOVNTPD instead of MOVDQA?

Frank - version which is included into archive is the source of the executable included???  :eek




Alex

frktons

Quote from: Antariy on November 09, 2010, 09:32:00 PM
Quote from: frktons on November 09, 2010, 01:28:11 PM
Added XMM version of conversion from byte string to word string.
................
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    2.338 │    2.338 │    2.339 │    2.338 ││

EDIT:

QuoteWhich clocks it have, if use MOVNTPD instead of MOVDQA?
It is much slower on my PC at least.

Frank - version which is included into archive is the source of the executable included???  :eek

Alex

In the zip archive posted there are all the files: source, exe, inc, pop.

Which clocks it have, if use MOVNTPD instead of MOVDQA?

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 09:43:42 PM
Quote from: Antariy on November 09, 2010, 09:32:00 PM
Quote from: frktons on November 09, 2010, 01:28:11 PM
Added XMM version of conversion from byte string to word string.
................
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    2.338 │    2.338 │    2.339 │    2.338 ││

Which clocks it have, if use MOVNTPD instead of MOVDQA?

Frank - version which is included into archive is the source of the executable included???  :eek

Alex

In the zip archive posted there are all the files: source, exe, inc, pop.

Frank, unpack the source, compile it, and say - it is run properly?
I not see the results - they is not printed.
Also color of CPU string is not yellow, as in your EXE.
???  :eek

frktons

I don't know what's happening.

Here it is the new version with R key to rerun the test.
Now I use the new XMM version to convert the screen buffer.
Your PC should run it fine.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 09:50:51 PM
I don't know what's happening.

Here it is the new version with R key to rerun the test.
Now I use the new XMM version to convert the screen buffer.
Your PC should run it fine.

Frank, the problem is - with SSE2 you limit your test-bed with running on old machines.
Test-bed is not thing, which is needed in insane optimization, and XMM stuff is not needed.
That is would be not great, if testbed could not run, for example - on PIII, even if the tested algos is i386...

But that is mine opinion, you do as you want, of course...

Frank, there are the same thing - test does not run! No testing results, no color changement.

frktons

Quote from: Antariy on November 09, 2010, 10:01:05 PM
Frank, the problem is - with SSE2 you limit your test-bed with running on old machines.
Test-bed is not thing, which is needed in insane optimization, and XMM stuff is not needed.
That is would be not great, if testbed could not run, for example - on PIII, even if the tested algos is i386...

But that is mine opinion, you do as you want, of course...

Frank, there are the same thing - test does not run! No testing results, no color changement.

I'm testing XMM instructions, so the program has them. The final testbed could not have them
it depends on how many people are going to use it and on what machines.

Some people have tested it without problems. And it doesn't show any problem on my machine.

What OS and CPU are you using?

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 10:05:13 PM
Some people have tested it without problems. And it doesn't show any problem on my machine.

What OS and CPU are you using?

Problem is: when I recompile your source (used ML 8.0), then resulting EXE is not perform some things. For example - color of the CPU string is white, and testing results is not showed at all.

frktons

Quote from: Antariy on November 09, 2010, 10:08:32 PM
Problem is: when I recompile your source (used ML 8.0), then resulting EXE is not perform some things. For example - color of the CPU string is white, and testing results is not showed at all.

I'm using ML 10 and Polink.
Try to change this:

CALL   ConvertXmm


with:


INVOKE AlexConvertArea, ADDR FileScreen, ADDR ConsoleScreen12, NumCycles


that is your routine adapted, and see what happens.

EDIT: What happens if you run my compiled EXE? Do you have the same problems?

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 09, 2010, 10:14:22 PM
EDIT: What happens if you run my compiled EXE? Do you have the same problems?

If I run your EXE - it works fine. That is the problem.

When I compile it with ML v.10 (you are remember :U), then it works fine, too.
But when I compile it with ML 8.0 or ML 6.15 - program was not work as must. Colors is not changed, results is not printed.

When run under debugger, I see, that "FileBuffer" is the zero memory array - it doesn't contain data of the DOS screen.


jj2007

Quote from: frktons on November 09, 2010, 09:50:51 PM
I don't know what's happening.

Here it is the new version with R key to rerun the test.
Now I use the new XMM version to convert the screen buffer.
Your PC should run it fine.

Frank

Works fine on my machine, Win XP SP2 with Celeron M.

frktons

Quote from: jj2007 on November 09, 2010, 10:48:32 PM
Works fine on my machine, Win XP SP2 with Celeron M.

Any chance to see the results?  :bg
Mind is like a parachute. You know what to do in order to use it :-)

frktons

Quote from: Antariy on November 09, 2010, 10:41:30 PM
If I run your EXE - it works fine. That is the problem.

When I compile it with ML v.10 (you are remember :U), then it works fine, too.
But when I compile it with ML 8.0 or ML 6.15 - program was not work as must. Colors is not changed, results is not printed.

When run under debugger, I see, that "FileBuffer" is the zero memory array - it doesn't contain data of the DOS screen.

Fast solution: use ML 10
Slow One:     use your knowledge, that is wider than mine, and tell me what's happening.

Frank
Mind is like a parachute. You know what to do in order to use it :-)