TEMP directory honored by which Apps in PTA6.2 ??

Discussion forum for Tawbaware's PTAssembler software, Helmut Dersch's Panorama Tools software and any other photography related software

Moderator: spamkiller

Post Reply
seigell
Posts: 90
Joined: Tue Mar 21, 2006 10:26 pm

TEMP directory honored by which Apps in PTA6.2 ??

Post by seigell » Thu Nov 13, 2014 5:58 pm

I'm looking to add a 200GB SSD to my Imaging Workstation, with the express purpose of speeding the various heavy Disk I/O elements of PTA 6.2 (as well as similar elements of my AstroImaging workflows).
I don't intend this SSD to be used for either the My Pictures library tree nor as my Boot Disk, but rather as a TEMP location to speed production and reading of the Intermediate Files these workflows produce.
I'm considering this approach because I wish to be able to exclude this Drive from Norton Internet Security scrutiny as well as a few other Activity-triggered background Services (indexing, etc). And I don't feel it advisable to expose the "real TEMP locations", as so many other "less trusted / less self-contained" Apps utilize those locations.

In any case:
Which Apps of the PTA 6.2 workflow are coded to honor the PTA Configuration "Temporary File Directory" ??
I'll be using PTAPicker, PTAStitcher, TuFuse, and either SmartBlend v1.2.5 or Enblend v4.1-win64 (I like the Blend Paths of SmartBlend better, but will live with Enblend if it better honors TEMP).

mewallis
Posts: 7
Joined: Mon Aug 27, 2012 5:23 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by mewallis » Sat Nov 15, 2014 3:37 pm

If you want the fastest TEMP I/O you should look into creating a RAM disk and move the system \TEMP folder and your application cache folders to it. According to this recent article
http://www.quepublishing.com/articles/a ... ?p=2008904
RAM disks are still on the order of many times faster than SSDs.

I use the RAMdisk product mentioned in the article. When I first started using the free version it was limited to 4GB, I think, but I bought the licensed version and now use 16GB (of 64GB total). I'm not sure what the maximum allowed size is.

The RAMdisk volume is erased whenever you reboot/shutdown, but you can build a customized folder/file structure and save it as a disk image in the C:\ root that will be automatically reloaded at the next start up. On my setup I reload a disk image that is designated as the R:\ drive and only contains the empty folders R:\Caches\Enfuse (for the LIghtroom version of Enfuse), R:\Caches\Panoramas (for PTA) and R:\TEMP (for the Windows system folder). When I reboot/restart, the RAM disk is automatically created and connected as the R:\ drive, and the disk image containing the folder structure is loaded so that by the time Windows is ready to use this drive and folders are available as if they were on a physical drive.

If you are interested, I attached my RAMdisk configuration info below. I haven't upgraded in awhile so it is probably a little out of date.
RAMDisk.zip
You do not have the required permissions to view the files attached to this post.

seigell
Posts: 90
Joined: Tue Mar 21, 2006 10:26 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by seigell » Mon Nov 17, 2014 5:12 pm

This is interesting info about DataRAM RAMDisk. I hadn't contemplating seting up a RAM Disk, as I'd also planned to have a few other persistently updating (but permanent data - not TEMP) Apps configured to use my SSD (BOINC, etc).

It is also helpful to see that you are having success with redirection of TEMP data for Enfuse and PTA. Is it completely successful ?? Or since you also build an R:\TEMP, does this mask other Enfuse/PTA files which land here instead of the expected R:\Caches\* locations ??
Which Apps are used in your PTA Workflow ?? Tufuse ?? Enblend ?? Smartblend ??

I'm still hoping that Max can chime in with any update or definitive response. But I'm impressed enough by your usage that I might just try DataRAM (the Free 4GB version should suit me fine).

Thanks

mewallis
Posts: 7
Joined: Mon Aug 27, 2012 5:23 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by mewallis » Mon Nov 17, 2014 10:05 pm

Sorry to say I haven't worked much with PTA lately. Waiting for retirement next summer to get back up to speed.

As a test I did run an old large project (6 110MB TIF input files with a 580MB output file) and everything worked as advertised. The R:\Cache\Panoramas folder contained a bunch of ptaTempxx folders, a bunch of pta_xx.txt information files, a pta_xx.bat file, and a PTA_TempImage.bmp preview image. The final pano was placed back in the original folder containing the input images.

I used 64-bit Enblend v4.1.1 as the blender, so I monitored R:\TEMP during the pano creation but didn't note any activity. The DOC\enblend.pdf file in my Enblend-Enfuse install says (in the -m CACHESIZE option) that Enblend does not use disk space as long as it has enough memory. The default cache size is is 1024MB, so evidently I never exceeded that limit.

I updated my first post to note that the R:\Caches\Enfuse folder was for LR-Enfuse, a LightRoom add-in. It has an option that allows relocating its cache folder. Would be nice if the stand-alone Enblend and Enfuse versions offered such an option.

I have used R:\TEMP as my system folder (by changing the \TEMP and \TMP environment variables) since my superbeast was fired up in early 2013 with no problems. I didn't place the cache folders for IE or Firefox on R: because I didn't want that info erased at each reboot/restart.

The only problem I've found using a RAMdisk for \TEMP is that I have to relocate the \TMP and \TEMP environment variables back to a physical drive before I update my chipset drivers because the installation program evidently creates an autoexec.bat that refers back to \TEMP after it reboots the system.

There was quite a bit of trial and error involved getting RAMDisk set up, but I was doing it on a new build so there wasn't any concern. I would recommend you do a complete backup using a method you are thoroughly familiar with before you start experimenting with putting the \TEMP folder on it. My notes in the file attachment are pretty complete so that should help you - I always keep detailed notes when I'm doing major software installations because stuff happens!

Good luck.

killdill045
Posts: 1
Joined: Tue Nov 18, 2014 1:29 am

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by killdill045 » Tue Nov 18, 2014 1:58 am

On my setup I reload a disk image that is designated as the R:\ drive and only contains the empty folders R:\Caches\Enfuse (for the LIghtroom version of Enfuse), R:\Caches\Panoramas (for PTA) and R:\TEMP (for the Windows system folder). When I reboot/restart, the RAM disk is automatically created and connected as the R:\ drive, and the disk image containing the folder structure is loaded so that by the time Windows is ready to use this drive and folders are available as if they were on a physical drive.??



_____________________
http://www.hodges.edu/
http://www.braindumps.com/ISTQB-certification.htm
http://www.usuhs.mil/
http://www.braindumps.com/CCNP.htm
http://www.bc.edu/
http://en.wikipedia.org/wiki/Principia_College
https://www.facebook.com/USACGSC
Last edited by killdill045 on Sat Dec 13, 2014 8:30 am, edited 1 time in total.

mewallis
Posts: 7
Joined: Mon Aug 27, 2012 5:23 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by mewallis » Tue Nov 18, 2014 5:09 pm

Just did a little experiment with cache file location on a RAM disk versus the C:\ drive and found out on my system there is NO difference in computation times for calculating a preview, creating TIFS to be stitched and blending the stitch TIFS. This seems to indicate that as long as PTA and Enblend have enough memory to work with they will do ALL their number cruching in memory before saving the final results to disk. For the record, I was stitching six 110MB TIFS into a 576MB panorama.

EDIT: I also tried installing PTA and Enblend on the RAM disk, again with no change in cruch time. Disk access time just does not appear to be a factor.

NOTE: 32-bit software can access a maximum of 4GB of memory, whereas 64-bit software can access a maximum of 16 billion GB. I'm running 64-bit versions of PTA and Enblend on a system with 64GB of RAM (48GB available not counting the 16 GB RAM disk), so my test results could be quite different on a 32-bit system, or a 64-bit system with a smaller amount of RAM.

Moral: if you have the need for speed, build a 64-bit system with the biggest, fastest RAM you can afford and always use 64-bit apps.

Below I have attached an OpenOffice spreadsheet that explains my methodolgy on sheet1 and includes some test results on sheet2. If you want to use it, just enter times in the appropriate cells using hh:mm:ss format and those times will be automatically converted to seconds from midnight in an adjoining cell so elapsed time differences are easy to figure.
PTAsmblr benchmarking.zip
You do not have the required permissions to view the files attached to this post.

seigell
Posts: 90
Joined: Tue Mar 21, 2006 10:26 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by seigell » Wed Nov 19, 2014 2:47 am

My PC Workstation is "Built for Speed", but apparently on a somewhat slimmer Budget than yours...

I have an Core2 i5-3570K (3.4GHz - 4 Cores) with 16GB RAM and a 2TB System Disk accelerated by a 64GB SSD and a 6TB Raid5 for my Image Catalog. I'm running Win7 Pro 64-bit.
I have PTA v6.2 (32-bit Apps per Max's post of some time ago), SmartBlend v1.2.5 (32-bit), and EnFuse/Enblend v4.1-64bit.

I've decided to commit 4GB to a Free-license RAMDisk, so that I can explore setting my Temp Directories (just for Imaging / PTA Applications - not for rest of System) hosted on that 4GB-limited RAMDisk.

Working with PTA's Preferences for "Temporary Directory" and "Delete Intermediary Files", I've found that I can expect to perform rather well within that 4GB limit for Panos of about 10-12 panels or 4 panels of Focus-Bracket or Exposure-Bracketed Images from my 18MP Canon 60D (RAW converted to "Deflated" 16-bit TIFF) - larger efforts simply run out of Disk Space...

I actually DO find a rather substantial Performance Improvement using the RAMDisk for Temp Files...

BUT...
The TRICK is that the Destination for the Final PTA Output File MUST be set to the RAMDisk.

This is because PTAssembler scripts each of the Stitcher Stacker and Blender Apps to generate their own Intermediary Output Files to the Directory of the User-specified Output File.

When the User specifies an Output File on a HDD (usually in the Directory of the Sources or an associated Subdirectory), then the Stitcher and Stacker and the Blender Apps must read those Physical HDD files as their Source, as well as generating their Intermediate Product, meaning significant I/O to the HDD instead of RAMDisk. The RAMDisk does end up hosting the "Temporary Files" - the Batch / Script files and the Cache Files of Tufuse or Enfuse.
But, in these cases the "Damage is Done" because of the substantial I/O to the HDD instead of the RAMDisk.

I performed similar PTA Creation Timing to your effort, except because of the "RAMDisk Space Crunch" I had to configure PTA to "Delete Intermediate Blender Files", so I couldn't perform as scrupulous Timing as you did.
Using a set of 12 Source Images (18MP Canon 60D CR2 - pre-Developed to 16-bit TIFF files averaging 92-95MB each) representing 4 panels of 3-Exposure-Bracketed Images for a Final Cropped-TIFF Pano sized 11650x3278 (265MB).
PTA Create using Tufuse and SmartBlend and TiffCrop saved to HDD Directory -- 4min 55sec
PTA Create using Tufuse and SmartBlend and TiffCrop saved to RAMDisk Directory -- 2min 50sec
PTA Create using Enfuse and SmartBlend and TiffCrop saved to HDD Directory -- 4min 35sec
PTA Create using Enfuse and SmartBlend and TiffCrop saved to RAMDisk Directory -- 2min 25sec
PTA Create using Enfuse and Enblend and TiffCrop saved to HDD Directory -- 6min 10sec
PTA Create using Enfuse and Enblend and TiffCrop saved to RAMDisk Directory -- 2min 40sec
PTA Create using Tufuse and Enblend and TiffCrop saved to HDD Directory -- 5min 25sec
PTA Create using Tufuse and Enblend and TiffCrop saved to RAMDisk Directory -- 3min 15sec

PTAStitcher takes 118.09 sec when output to HDD, but only 18.36sec when output to RAMDisk (of course, because of my Space Crunch on the RAMDisk, both cases are reading the Source Files from the HDD).

That means that I see about a 100% Improvement in PTA Performance (not counting the Auto-Create - Control Pointing / Optimizing / Previewing portions).

It'd be nice if PTA could show a little more Configuration flexibility with regard to Writing the Intermediary Files somewhere other than the Output File Directory. (But that is more an issue of having an additional Step to "Rescue" the Output Image from the RAMDisk before I have to Purge it of Files in order to have space for the next Image Set...)

Now, since I have proven the Value of the RAMDisk Software, I need to decide whether to Purchase the Professional Version so that I can then Purchase more RAM so that I can muster an 8-12GB RAMDisk...
(arghhh...)

mewallis
Posts: 7
Joined: Mon Aug 27, 2012 5:23 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by mewallis » Wed Nov 19, 2014 7:16 pm

D'oh! - I spaced out and forgot to consider the time spent saving/reading the intermediate TIFs. No sleep yesterday...

I build a new system whenever my old system is considered "slow" by a factor of 3 or 4 compared to new state-of-the-art systems, usually about every 4-5 years.

My current early-2013 system consists of a Asus P9X79 mobo with a Core i7-3930K (6 cores, 12 threads, 4.4GHz under load, 1.2GHz loafing) and 64GB of DDR-2133MHz quad-channel memory. The main disk consists of two raided 256GB SSDs and a work disk consisting of a 1TB HDD accelerated with a 128GB SSD. All my permanent file storage is on a ReadyNAS. O/S is Win7Pro 64-bit.

Did some more tests that placed the pano image folder is different locations to see how physical drive I/O affected times on my system. All my previous tests had the pano folder of my local SSD assisted HDD. I moved it to my raided SSD main disk and the run time increased about 3% (133 seconds to 136) but I only ran the test once. When I moved the pano folder to my networked NAS the time increased 33% from 133 seconds to 177 seconds. I'm not seeing large differences like you are because my project example is fairly simple.

Well, this has been an interesting experience for the two of us, especially for you since you have a much clearer idea of what is causing your bottlenecks. Hopefully some more users chip in with their insights, and Max can use the information to add some speed tweaks. (It would be REALLY nice if Max could figure out how to add GPU number crunching.)
Mike

maxlyons
Posts: 3649
Joined: Fri Jun 20, 2003 8:55 pm
Location: USA
Contact:

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by maxlyons » Fri Nov 21, 2014 2:34 pm

Sorry that I'm late to this thread. Lots of really interesting information.

PTAssembler uses the temporary directory that is specified on the Files/Dirs tab of the preferences screen for writing scripts and other small tasks. However, you are correct that when stitching, it writes files to the output directory (even if those files are really just "intermediate" files that will be used for a later blending/fusing step). And, if the output directory is a HDD, I think you guys have confirmed that this is a lot slower than if the directory is on a SSD or RamDrive. I'll take a look to see how easy it will be to allow this to be configured (so that files that are going to be used as input to a blending/fusing step are written to a user-configurable directory). That should speed things up a lot if you have RamDrive/SSD for that location.

I don't think PTAssembler can do much to influence where third-party programs put their intermediate/temp files...at least I don't recall noticing any user-configurable options for Enblend/Enfuse/Smartblend, but it this is possible, please let me know and I'll look into incorporating this as well.

Max

mewallis
Posts: 7
Joined: Mon Aug 27, 2012 5:23 pm

Re: TEMP directory honored by which Apps in PTA6.2 ??

Post by mewallis » Fri Nov 21, 2014 4:06 pm

Some final notes:

Here is direct link to DataRAM RAMDisk:
http://memory.dataram.com/products-and- ... d-download
Pricing starts at $9.99 for a 12GB drive up to $18.99 for 64GB - that is an amazing bang-for-the-buck. If you have anough memory to create a RAMDisk that never (or at least rarely) overfills during your workflow, you can basically upgrade your lowly PC/laptop to a supercomputer for less than $20!

The RAMDisk configuration utility notes that
  • You can also set up RAMDrive to save its contents before shutdown and then reload them again at startup so you appear to have a permanent physical drive with all the speed benefits of a virtual RAM drive. This allows you to copy your work files to the RAMDisk and leave them there for hours/days/weeks until you are done with the project then copy the results back to permanent storage to make room for the next project.
  • A checkbox allows you to periodically autosave the disk image.
  • You can change the name of the load/save image file, allowing you to work on multiple large projects at a time without having to manually copy and save the work files. It appears you can also specify the drive & folder of the images, so could save them anywhere as long as that location is available to the system at bootup. The downside is that you would have to reboot in order to load a new image file, and you would have to be careful about the sequence of events so you don't accidentally overwrite a saved project image with the wrong project.
Hey, Max! You should look into creating a Sticky or a Wiki for this info and see if you can get an advertising sponsership from DataRAM!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest