Author Topic: asking computer configuration for running ATK  (Read 6770 times)

0 Members and 1 Guest are viewing this topic.

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
asking computer configuration for running ATK
« on: December 6, 2016, 16:48 »
Hello, everyone,

when I tried to calculate the transmission spectrum of MoS2 nanoribbon using ATK-DFT method, I got an error message like this: ** Back Engine Exception : The parallel solver cannot allocate the required workspace. Consider enabling disk workspace. ** Location of Exception : parallelsolver.cpp:568". 
Since the system I calculated is not a large system, I don't know what's wrong with it. Can anyone help me? Thank you very much!

The following is the configuration of my computer:
Intel(R)core(TM) i7-6700 CPU @3.4GHz,
Installed memory: 16GB,
System type: 64-bit operating system
hard driver: 128G solid state hard driver with  1TB portable hard driver

Thanks again for your kindness!

Offline Ulrik G. Vej-Hansen

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 426
  • Country: dk
  • Reputation: 9
    • View Profile
Re: asking computer configuration for running ATK
« Reply #1 on: December 7, 2016, 09:51 »
Please provide the python script, the memory use depends a lot on the calculational parameters.

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #2 on: February 17, 2017, 20:23 »
Thank you very much for your kind reply and I'm so sorry that I didn't see it until now.

Actually, I'm still suffering from this problem.  Attached is the .py script of this question. Because I just followed someone's steps to calculate the transmission spectrum of this device (MoS2 nanoribbon). I am sure this had been successfully carried out on a computer and the performance of that computer is no good than mine. I don't know what's wrong with the setting of my computer.  The only difference may be that, when he did the calculation, he used the ATK with version of 2015 or 2014, and now I am using the version 2016.2 or 2016.3. But is it really the reason? How to deal with this problem?

I checked the estimated memory needed. The results are shown below:
| -------------------------------------------------------- |
| Summary                                                  |
| Peak: Left Electrode                          868 Mbyte  |
| Peak: Right Electrode                         868 Mbyte  |
| Peak: Equivalent Bulk                           0 Mbyte  |
| Peak: Device                              3519473 Mbyte  |
| -------------------------------------------------------- |
| Estimated Peak memory requirement         3519473 Mbyte  |
+----------------------------------------------------------+
If the problem is because of no enough memory, how can I solve this problem? After all, there are few PCs that can have memory up to this amount.

The configuration of my computer is like this:
The following is the configuration of my computer:
Intel(R)core(TM) i7-6700 CPU @3.4GHz,
Installed memory: 16GB,
System type: 64-bit operating system
hard driver: 128G SSD (the Windows system, about 12G free), 500G SSD (the VNL software was install in this disk,490G free), 1TB portable  (for data storage, 900G free)

 Thank you again for your kindness!

Offline zh

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: asking computer configuration for running ATK
« Reply #3 on: February 18, 2017, 11:11 »
"Estimated Peak memory requirement         3519473 Mbyte  "-------->3519.473 GB memory

This exceeds the memory of computer too much. It can't be run on your computer definitely.

You need make a proper adjustment for the size of your simulated system, which seems to be a perfect MoS2 nanoribbons. In this case, it may be reasonable to use a shorter length of MoS2 in center region.

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #4 on: February 20, 2017, 20:13 »
Thank you very much for your reply!

However, it seems not always the case when concerning the estimated memory needed. For example, for another calculation, the estimated memory needed is about 590G, it still can be run in my computer with only 16G memory.

After all, the transmission spectrum of the device configuration attached had been successfully executed using a computer with the performance no better than mine. This is what I really confused.

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #5 on: February 21, 2017, 18:28 »
I am trying to execute the script using an old version of ATK: version 13.8. Although it is still running, it seems that it works well . What's the difference between these different versions of ATK? How to set properly the "parallel parameters" if it runs  in my computer using version 2016.3?

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #6 on: February 22, 2017, 15:53 »
Dear all,

I am trying to adjust the "parallel parameters" so that the transmission spectrum of MoS2 nanoribbon can be executed successfully in my computer. The default setting of these parameters are: 

    processes_per_bias_point='automatic',
    processes_per_neb_image='automatic',
    processes_per_individual='automatic',
    processes_per_saddle_search=1,

With the default setting, there would be an error message as I mentioned before and the calculation would fail. If I change all of the parameters to 1, like this:

    processes_per_bias_point=1,
    processes_per_neb_image=1,
    processes_per_individual=1,
    processes_per_saddle_search=1,

the script can be carried out successfully. However, it took me a very long time to get the result---more than 6 hours, just one transmission spectrum.

There is a Note below the  settings:
"Note: To use automatic detection of the number of processes to calculate a single configuration in parallel, set the value to zero."

I am not sure about the exact meaning of this sentence----which one should be set to zero? or 'automatic' means zero? In my opinion, the soft should have the ability to detect the performance of my computer and give me a set of suitable parameter settings with which the script can be run successfully instead of showing me a message that it runs out of memory.

As for my computer mentioned below, does anybody know how to set the parallel parameters  for the calculation?
Processor                                              Intel Core i7-6700 3.4 GHz
Processor Main Features               64 bit Quad-Core Processor
Cache Per Processor                        8 MB L3 Cache
Memory                                                16 GB DDR3 1600
Storage                                                 2 TB HDD + 96 GB SSD

The "Processor Main Features" of my computer is "Quad-Core", what does it mean? How can I use it for parallel calculation?

I appreciate anyone who can help me! Thank you very much!
 

Offline zh

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: asking computer configuration for running ATK
« Reply #7 on: February 23, 2017, 02:26 »
In your case, the following parameters should be irrelevant to the transmission spectrum calculations:
 processes_per_neb_image=1,
 processes_per_individual=1,
 processes_per_saddle_search=1,

Because the NEB calculations and geometry optimization  aren't specified in your script.
Please refer to the manual: http://docs.quantumwise.com/manuals/Types/ParallelParameters/ParallelParameters.html

Only the 'processes_per_bias_point ' may affect the parallel jobs of your transmission spectrum calculations.
If processes_per_bias_point =1, it means only 1 process is used for each bias point. Actually there is only one bias voltage (zero V) in your script file. In this case, you will do the serial calculation and the whole memory will be used for this single serial calculations.  If the 'processes_per_bias_point ' value is determined automatically,  the whole memory will be shared by the  multiple processes. For each process, the memory will be insufficient, so your job failed. 

'The "Processor Main Features" of my computer is "Quad-Core", what does it mean? How can I use it for parallel calculation?'

To use all of these 4 cores,  one need to run the code via openmp (OMP_NUM_THREADS=4) or mpi. Please refer to the manual for the parallel job of ATK:
https://quantumwise.com/documents/manuals/ATK-2008.10/chap.parallel.html

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: asking computer configuration for running ATK
« Reply #8 on: February 23, 2017, 05:28 »
Your script uses the "Direct" Poisson solver, and this is the reason the memory estimate is so high - and memory usage will also be very high. This solver should only be used for systems with gates (yours does not have any, as far as I could tell) and can also only be used when running in parallel over many cores (ideally many machines). You should switch to the default FFT2D Poisson solver and the script should run fine, it's not a huge calculation. For parallelization, just use the default options for the script, it will parallelize fine (mainly over energy points in the contour integral, of which there are far more than your have MPI processes).

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #9 on: February 23, 2017, 16:19 »
Thanks very much for "zh" and "Anders Blom"! Your comments are very helpful to me! I do think it's the reason for the failed calculation although I am still studying the parallel job for ATK.

Thank you again for your help!

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #10 on: February 27, 2017, 15:49 »
Dear zh,

These days, I tried to use parallel settings to calculate the IV curve of MoS2 nanoribbon to save time. For my computer with a 4-core CPU, I set up a 4-bias point calculation for testing.

I tried several different combination of "parallel parameters" and "job settings". The latest oen is to set the "processors_per_bias_point" to 1, and use MPI with "number of processors" to 4. But it failed almost immediately with an empty .log file and I even don't know what's wrong with it. Now, I am trying to still set the "processors_per_bias_point"  to 1, but set a threaded parallel (single processor) with a defined number of thread of 4 instead of "automatic". I want to see if I can save the calculating time down to about 1/4. It's my last try. If it still doesn't work, I'll have no idea about how to run a parallel job by ATK.

Since you are expert of ATK, could you please give me some simpler direction about it? Thank you very much!

Yours Sincerely
lknife

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #11 on: February 27, 2017, 16:02 »
Dear zh,

Last time you said that I can run my code via openmp (OMP_NUM_THREADS=4) or mpi to fully us all the 4 cores of my CPU. Today, when I am looking over the tutorial "MPI setup for running ATK in parallel" , there is a warning "ATK does not work with Open MPI".  Are these the same meaning?

 Since I don't have computer clusters, I just want to run ATK codes in my own computer with a 4-core CPU and I want to use parallel setting to same a little time.  Could you please teach me how to do that? I appreciate your kind help.

Yours Sincerely
lknife

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: asking computer configuration for running ATK
« Reply #12 on: February 28, 2017, 01:45 »
OMP=OpenMP = threading
OpenMPI is MPI parallel
These are completely different technologies.

Offline lknife

  • QuantumATK Guru
  • ****
  • Posts: 214
  • Country: us
  • Reputation: 1
    • View Profile
Re: asking computer configuration for running ATK
« Reply #13 on: February 28, 2017, 17:16 »
Thank you very much for your reply!

I tried to use threaded calculation (the number of thread was set to 4 instead of automatic together with processors_per_bias_point=1 ) to calculate the IV curve an it do helped me save the time.

Another question: if I can only use threaded calculation with the CPU with 4 cores? can MPI be used here?

Thank you again for your help!

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: asking computer configuration for running ATK
« Reply #14 on: February 28, 2017, 20:44 »
The advantage of threading (OpenMP) in ATK is not so large - the main parallelization benefit is obtained from MPI. The only disadvantage of MPI is that there is some memory duplication but for your computer and this calculation I wouldn't worry (as long as you turn off the Direct Poisson solver).