25 August 2015, 11:07 | #1 |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
It seem the JIT direct mode is not work in fs-uae. direct mode is important
I get report of memory speed values from readlong around 500 mb, and a boottime of amikit of around 32 sec with a AMD 4* 3.2 GHZ 32 bit fs-uae on linux 64 bit. on winuae with 4*2.8 GHZ on windows 64 bit and uae 32 bit boot time is 11 sec. both directory file system.
It seem the JIT direct mode is not work in fs-uae. direct mode is important for good speed in JIT mode as High end amiga. it make all 2-3* faster. How can this enable ?. Last edited by bernd roesch; 25 August 2015 at 14:01. |
26 August 2015, 00:55 | #2 |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
|
27 August 2015, 15:19 | #3 |
Registered User
Join Date: Apr 2013
Location: Engelsdorf / Germany
Posts: 468
|
I believe, if this works, it only works on Windows. Just for information.
|
27 August 2015, 19:19 | #4 |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
The uae jit develop from Bernie, was on Linux. And this direct mem accesss feature work ok on Linux. On windows in 32 bit it was hard to implement. first there was a hack need to set the Z3 address space from 0x40000000 to 0x10000000. On 64 bit windows and 32 bit winuae this is not need, because available adress space is for 32 bit programs larger as on 32 bit windows. so a 32 bit linux program run on a 64 bit linux should work ok too.
|
27 August 2015, 20:45 | #5 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
With everything set to direct, it will actually crash during Kickstart startup, because Kickstart code tries to write/read memory (probing for available memory), and when it probes too far, it crashes. Setting uae_comp_trustlong = indirectks works around this by ensuring that memory accesses (32-bit read/writes, which is used for probing) from kickstart code (only) is indirect. So this will work... mostly... but a memory access to unmapped memory from an Amiga program will still cause FS-UAE to crash... |
|
27 August 2015, 20:57 | #6 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Actually, I checked the code. It looks like support for indirectks was effectively removed from WinUAE 2700b6 (and thus also from later versions of FS-UAE). indirectks looks like it has now the same effect as (always) indirect.
|
28 August 2015, 00:57 | #7 | ||
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
It does. Amikit (copied to hdf) boots in 10 seconds on my system with DMA, and 20 without it. But overall speed increase (raw cpu power) isn't that big, far away from 2-3x...
I don't remember of any bad crashes, perhaps I was just lucky. Quote:
Quote:
|
||
28 August 2015, 12:08 | #8 | |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
@jbl007 do you use 32 bit Linux or 64 bit linux for fs-uae
Quote:
If in 32bit linux the same i think you have not add the excpetion handler for Linux, from the old uaejit Bernie do. I can confirm, that the old Linux UAE have a working exception handler for 32 bit linux, so uae Linux can work in direct mode without crash. first i use linux to see how exception handler on linux work. I have work together with Brian King to write exception handler for windows and i add winuaenforcer support. winuaeenforcer log the illegal mem access that trap into exception handler so it can output. winuae can never crash due to illegal mem access from amiga side. I have not Linux install, but i told the Linux user to add the text uae_comp_trustbyte = direct uae_comp_trustword = direct uae_comp_trustnaddr = direct uae_comp_trustlong = indirectks He told me that he do this in the same file he write uae_cachesize = 8192"Additional Configuration" "own config Konfiguration" or maybe there is a problem that on a 64 bit linux direct mode is not enable in general ? I did not know about linux, if there can work 32 bit exceptionhandlers on 64 bit Linux. |
|
28 August 2015, 13:52 | #9 |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
I use a 64bit Linux system with 32/64bit dual install of fs-uae.
Last edited by jbl007; 28 August 2015 at 14:00. |
28 August 2015, 14:47 | #10 | |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
please try sysspeed on amikit in the low tab, with low memory benchmark. and use newest fs-uae
the values changes, because it is measure a very short time so do 2-3 tries What Values you get with ReadFastl, writefastl, fast2fastl ? what CPU you have ? Quote:
I do a test what speed diffrence hdf and directory filesys bring on boot amikit 8.5 on winuae. with hdf it is only around 2 sec faster on ssd and 5 sec faster on Harddrive ( 2 TB drive). but this is only the first try. when data is in cache, then harddrive with directory filesys is too around 2 sec slower as hdf. so use hdf is not worth the work, if uae use direct mode and JIT |
|
28 August 2015, 19:26 | #11 |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
First I have to correct myself, AmiKit boot times with jit and jit+direct are nearly the same.
DMA == direct memory access Isn't that the correct term for it? I only copied my AmiKit install to hdf because I did'nt want to have thousands of amiga files on my hard drive, not for speed related reasons. I tested 32bit and 64bit fs-uae executable and also jit and jit+direct mode (see screenshot). I can also upload module files if you want. I used a ClassicWB install to get the values, for some reason I had problems with AmiKit saving the modules. CPU is a Core i5-3570K at 4.2GHz, Memory clock is at 1600MHz Your Conclusion??? |
28 August 2015, 20:38 | #12 | |||
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
Quote:
Quote:
Code:
64-bit 32-bit jit indirect jit direct (long=indirect) AIBB emutest 152 145 1057 1400 AIBB dhrystone 187 171 910 1725 AIBB memtest 310 278 910 910 I then re-enabled support for indirectKS in FS-UAE (reverting the change from the aforementioned WinUAE version), and ran the benchmarks again: Code:
jit direct (long=indirectKS) AIBB emutest 1600 AIBB dhrystone 2200 AIBB memtest 5700 Last edited by FrodeSolheim; 28 August 2015 at 20:54. |
|||
28 August 2015, 22:06 | #13 | |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
Quote:
910 vs. 5700 in AIBB memtest. That's quite an improvement! But real world benchmarks are more interesting/useful. For example running a demo in warp mode and measure real time. This would give us the real emulator speed including all emulated hardware. How about an option to start emulation in warp mode? uaectrl could be used to quit after the demo has ended. |
|
29 August 2015, 11:16 | #14 | |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
Quote:
DMA == direct memory access is correct. But how do you switch DMA on or off to get the diffrent results ?. I ask, because i miss something, and when i can enable DMA with hardfile it work faster. I make music with hd.rec, its a virtual music studio, there are benchmark option in effect. with indirect mem for the reverb pro result is 10.7% CPU time is need(depend on realtime 44.1). With direct on, only 1.7% CPU time the reverb need. the measure time is long so uae can result exact values here can download, if somebody like make music, or like a precise real world benchmark program ;-) http://sourceforge.net/projects/hd-rec/ the software synthesizer can load sf2 files and there is also a GUI benchmark, with that you can load a demo project in and it is output redraw time of the tracks. SO this measure real world graphic performance Last edited by bernd roesch; 29 August 2015 at 11:27. |
|
29 August 2015, 11:20 | #15 | ||
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
Not really needed. We can call "uae-configuration warp true" from Workbench/scripts.
And not only that. We can also so "uae-configuration comp_trustlong direct" to enable full direct mode. How cool is that!? Quote:
Quote:
Needs some additional libs I don't have right now... Last edited by TCD; 29 August 2015 at 15:39. Reason: Back-to-back posts merged. |
||
29 August 2015, 15:37 | #16 | |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
in hd-rec normally all libs should be in. also amikit have the libs
here is a full archive too http://hd-rec.de/HD-Rec/index.php?site=home Quote:
to enable winuaeenforcer you need start the winuaeenforcer 68k program that is attached in winuae amigaprograms |
|
30 August 2015, 11:50 | #17 |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
You need to install camd.library, zlib.library, jpeg.library and (optional) ptplay.library
I exported the demo project "hq sweeper demo3" to a 44.1kHz 16bit wave file for speed testing. Results: 64bit executable: 16 mins. + 55 secs. 32bit executable: 12 mins. + 10 secs. jit: 36 secs. jit+direct: 15 sec. Last edited by jbl007; 30 August 2015 at 12:14. Reason: corrected values :-\ |
30 August 2015, 13:42 | #18 |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
In the 64 bit fs-uae version the JIT do not work. same in winuae too. 64 bit winuae have no working jit.
have you render to ram disk ? I render to amiga RAM disk. My results are JIT indirect 53 sec JIT direct 15 sec With JIT indirect your machine is 47% faster, which look ok, because your CPu is faster GHZ and more modern. modern intel give also more performance /MHZ Seem your JIT direct mode work not fully ok, because my machine is a little faster. I try several time, and it need 14 sec or sometimes 15 sec. but never more as 15 sec. what 68k CPU you switch on ? I test with 68040, but i give a quick try in 68020/68881. speed is same. see screenshot of my EDIT: there is also GUI benchmark. can do with sweeper HQ project to compare. make the window full hd size, and press the button (see my mousepointer right below). then the takes are size so Song fit full window. now choose in hd-rec menu beta, gui benchmark and look at time. 1. redraw need 27 ms. see screenshot Last edited by bernd roesch; 30 August 2015 at 13:58. |
30 August 2015, 14:47 | #19 |
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 468
|
No, I used a directory mounted hdd. Rendered to ramdisk it's 2-3sec. faster. Now it's 12-13 sec. with jit-direct.
I think this programm is a little bit special and heavily depends on memory speed. This could explain why: 1.) 32bit non-jit is faster than 64bit non-jit (Usually 64bit is ~5% faster with many other applications) 2.) jit-direct is much faster than jit-indirect (Usually the difference isn't that big) So 1300MHz (you) vs. 1600MHz (me) and 15sec. (you) vs. 13sec (me) looks right to me. GUI speed is 10ms for one redraw. |
30 August 2015, 15:41 | #20 |
Registered User
Join Date: Apr 2012
Location: germany
Posts: 139
|
all programs that do much data calculations, and need longer time depend on memory speed. because when a program need long time, it must read lots data from memory. direct mode also increase lots, if decode/encode video etc. all this use many data. you can also test compile time with gcc. also big increase of direct mode
10 ms in gui speed really, seem linux is faster on GFX. i use in winuae direct 3d setting but strange is, wy the linux user i know get not the fast speed you get with direct mode. maybe there is a config option that block direct mode. Please upload your fs-uae config file, and what version you use |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
JIT mode for 68040 available? | pixelsmack | support.FS-UAE | 4 | 17 July 2014 00:00 |
Pause Mode crashing FS-UAE | Jason H | support.FS-UAE | 13 | 19 April 2013 23:36 |
Very old JIT direct bug: 512 kB Chip reported as 1MB | PeterK | support.WinUAE | 2 | 04 April 2012 21:08 |
MMU/JIT toggle on native mode | jotd | request.UAE Wishlist | 3 | 18 September 2009 20:36 |
'Warp Mode' broken in 'windowed mode' | NoX1911 | support.WinUAE | 3 | 26 May 2007 01:05 |
|
|