New Abinit 6.2.3 binaries for Windows (ia32) posted

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Thu Oct 07, 2010 4:59 pm

Dear All,

A new binary package for Abinit 6.2.3 and V_Sim 3.5.2 for Windows (32 bit) has been posted on the ETSF software repository at http://www.etsf.eu/resources/software/etsf_software_repository

Abinit 6.2.3 is the latest production release. This Windows version comes with all advertised plugins and required libraries. It passes the full testsuite (tested in Windows XP SP3).
The binaries have been prepared with MPI functions activated i.e. they can use all available cores on SMP systems when invoked with the provided mpiexec launcher. For example,

Code: Select all

mpiexec -np 2 abinit.exe <input.files >output.log
will launch two Abinit parallel processes running commands from the input.files and producing the output.log file.

V_Sim 3.5.2 is the latest version of this atomic visualisation application. It comes ready to use with all GTK2 dependencies.

Installation HOWTO. Download the .zip file from the repository. Unzip it wherever you would like it. The Abinit program and utilities reside in abinit-6.2.3\bin directory; launch them from a CMD prompt. From an Explorer window, launch the V_Sim structure visualisation application from the V_Sim\bin directory. The package comes with some extra goodies: WinVI (Unix friendly graphical text editor), a few GNU applications ports to Windows to parse text files (grep, awk, sed, ...), GnuPlot (2D/3D data plotting application).


Don't hesitate to post your personal experience on this forum.

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Sat Dec 11, 2010 3:21 am

Hello,

This is with regard to the new Abinit 6.2.3 binaries for windows.
I am facing the following problem whenever I try to run abinit.exe.
3 [main] abinit 792 exception: :handle: Exception: STATUS_ILLEGAL_INSTRUCTION
643 [main] abinit 792 open_stackdumpfile: Dumping stack trace to abinit.exe.stackdump.

The same job runs fine with Abinit 5.8 or other binaries for windows.
Can somebody help me out of this problem?

Thanks and regards
Deepak

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Sat Dec 11, 2010 2:05 pm

Hello Deepak,

Would you please tell me the kind of processor equips your Windows system? Does that error occur with any kind of input parameters - does it run at least the first few v1 tests or not - or is it more specific? The first think that comes to my mind after reading your feedback is that you maybe have quite an old CPU. I have invested some efforts to make good use of multi cores systems for this Windows release; it is therefore optimized for Core2 and later processors i.e. it covers hardware built since mid 2006.
I'm in the process of releasing the new 6.4.2 production version so I may be less restrictive if it helps.

Kind regards,

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Sat Dec 11, 2010 6:41 pm

Dear Mr. Alain,

Good Evening.

Thanks for the prompt reply.
I suspected the same. I used P-4 processor for said calculations, which (as you rightly pointed out) might have caused the problem.
I would be trying out the intel core-2 duo processor in a short while.
Thank you once again.

With warm regards
Deepak

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Mon Dec 13, 2010 12:59 pm

Dear Mr. Alain
Hello again,

I tried to run the Abinit 6.2.3 binaries for windows on a core 2 duo intel processor.
At this point of time I used the syntax "mpiexec -np 2 abinit.exe <t1x.files >log"
This followed by error "Error in system call mpiexec: No such file or directory
mpiexec could not exec abinit.exe"
Can you please help me in understanding what's wrong here?

Rgds
Deepak

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Mon Dec 13, 2010 3:36 pm

Probably due to differences between the (cygwin) bash and genuine Windows CMD prompt.
Nevertheless, I just tested the distribution again on a plain Windows 7 command prompt. Here follows what I did ... Downloaded the zip, extracted the distribution and then changed directory to abinit-6.2.3\bin. I copied the ..\share\abinit\paral\t_kpt+spin.in, t_kpt+spin.files and ..\share\abinit\Psps_for_tests\26fe.pspnc into the bin directory. Then I launched WinVi, edited t_kpt+spin.files to remove the extra path of 26fe.pspnc line (not needed anymore because everything is in the same directory). So I ended with a directory with several abinit binaries, t_kpt+spin.in parallel test input, corrected t_kpt+spin.files and 26fe.pspnc pseudo. Then ran abinit from the command prompt with

Code: Select all

mpiexec -np 2 .\abinit.exe <"t_kpt+spin.files" >t.log
Windows 7 popped a "security" window saying that my program wanted network access ... nothing fishy here - mpi launcher uses tcp to dialog with threads so clicked to allow. The test runs for about 3 minutes ... and the output t.log looks fine to me.

Kind regards,

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Mon Dec 13, 2010 4:44 pm

Thanks Mr. Alain.
Is it that I will need admin privileges or mpich or any thing else in addition to Abinit binaries?
I almost followed the same scheme as indicated by you.
I will try it out again.

Anyway thanks for the prompt reply.

With warm regards
Deepak

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Mon Dec 13, 2010 5:53 pm

Nothing special. I built the package on Windows XP (32 bit) and made the last test as a plain user on Windows 7 (64 bit). I statically linked the MPICH2 library to the Abinit executable so you only need the (provided) mpiexec parallel launcher (it's the "gforker" version i.e. launches local threads only). Adding the cygwin environment is optional - it provides a bash shell (I'm more familiar with that one) - but the stock Windows command prompt works as well maybe with some syntax differences (like the "" to deal with the input file nae that contains a +).
You're right, there is no very obvious difference between your command line and mine. I cheated a bit by putting all the files in the same directory and by adding .\ to abinit - a mpiexec -np 2 c:\your_installation_directory\bin\abinit.exe ... should work i.e. use the full path to abinit.exe (maybe avoid spaces in pathnames). You should be able to move the .exe files anywhere on your directory tree; the only important thing is to keep the cygwin dlls in the same directory as the binaries.

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Mon Dec 13, 2010 7:03 pm

Hi Mr. Alain,

I really appreciate your inputs and help that to very promptly.
You indicated that "I statically linked the MPICH2 library to the Abinit executable so you only need the (provided) mpiexec parallel launcher (it's the "gforker" version i.e. launches local threads only)" which means I need to install MPICH2 or does it means just use the mpiexec.exe (link it somehow), it is so?
and how to link MPICH2 library to Abinit statically?
I know this might sound stupid. But any clue may help me greatly.

With appreciation and great many thanks
Deepak

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Mon Dec 13, 2010 10:51 pm

It means that everything is included in the distribution to run Abinit in parallel without having to install any extra utility/library or linking whatsoever i.e. MPICH2 library is already inside abinit.exe and you only have to use mpiexec to launch multiple threads of Abinit. If you happen to install another MPI library on your system to serve another program, no problem, Abinit won't use it and won't interfere with it.
I think that the origin of your "mpiexec could not exec abinit.exe" error message is that mpiexec - being borrowed from Unix world - doesn't search by default in the current directory when given abinit.exe as argument. So simply try to add the full path to abinit.exe or the shortcut .\ for the current directory

So for an example session with a parallelization on k points and spin ... let's say that you unzipped abinit-6.2.3.zip in a newly "abinit" subdirectory of C:\Program Files. Open a command prompt and

Code: Select all

cd "c:\Program Files\abinit"
C:\Program Files\abinit>dir
 Volume in drive C has no label.
 Volume Serial Number is DCAA-01D7

 Directory of C:\Program Files\abinit

12/13/2010  10:08 PM    <DIR>          .
12/13/2010  10:08 PM    <DIR>          ..
12/13/2010  10:06 PM    <DIR>          abinit-6.2.3
10/07/2010  02:10 PM            32,746 Abinit_on_Windows.pdf
12/13/2010  10:05 PM    <DIR>          gnuplot
12/13/2010  10:08 PM    <DIR>          gnuwin32
12/13/2010  10:08 PM    <DIR>          tofrodos
12/13/2010  10:06 PM    <DIR>          V_Sim
12/13/2010  10:05 PM    <DIR>          winvi
               1 File(s)         32,746 bytes
               8 Dir(s)  56,759,336,960 bytes free

C:\Program Files\abinit>mkdir example

C:\Program Files\abinit>cd example

C:\Program Files\abinit\example>copy "..\abinit-6.2.3\share\abinit\paral\Input\t_kpt+spin.files" .
        1 file(s) copied.

C:\Program Files\abinit\example>copy "..\abinit-6.2.3\share\abinit\paral\Input\t_kpt+spin.in" .
        1 file(s) copied.

C:\Program Files\abinit\example>copy "..\abinit-6.2.3\share\abinit\Psps_for_tests\26fe.pspnc" .
        1 file(s) copied.

C:\Program Files\abinit\example>..\winvi\WinVi32.exe "t_kpt+spin.files"

C:\Program Files\abinit\example>..\abinit-6.2.3\bin\mpiexec.exe -np 2 ..\abinit-6.2.3\bin\abinit.exe < "t_kpt+spin.files" > "t_kpt+spin.log"


When the WinVi window opens, edit the t_kpt+spin.files file to remove the extra path to the pseudopotential file i.e. change the last line to 26fe.pspnc. Save the file.
When Abinit is launched, 2 "security" windows open; unblock abinit and mpiexec - nothing surprising here, the launcher and parallel threads use tcp sockets to talk each other (nothing goes on Internet, only through the local interface)
After a few minutes - depending on the speed of your system ...

Code: Select all

C:\Program Files\abinit\example>dir
 Volume in drive C has no label.
 Volume Serial Number is DCAA-01D7

 Directory of C:\Program Files\abinit\example

12/13/2010  10:27 PM    <DIR>          .
12/13/2010  10:27 PM    <DIR>          ..
10/03/2010  11:00 AM           305,169 26fe.pspnc
12/13/2010  10:27 PM            28,164 t.o_DS1_DDB
12/13/2010  10:26 PM           479,282 t.o_DS1_DEN
12/13/2010  10:27 PM            74,570 t.o_DS1_EIG
12/13/2010  10:27 PM        63,181,618 t.o_DS1_WFK
12/13/2010  10:17 PM                50 t_kpt+spin.files
10/03/2010  11:01 AM             1,012 t_kpt+spin.in
12/13/2010  10:27 PM           245,478 t_kpt+spin.log
12/13/2010  10:27 PM           128,209 t_kpt+spin.out
12/13/2010  10:27 PM             7,579 t_LOG_0001
              10 File(s)     64,451,131 bytes
               2 Dir(s)  56,694,702,080 bytes free

And to look at the output log ...

Code: Select all

C:\Program Files\abinit\example>..\winvi\WinVi32.exe "t_kpt+spin.log"


Kind regards,

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Tue Dec 14, 2010 5:21 pm

Dear Mr. Alain,

This time everything worked fine.
Thank you for the detailed guidance and in-time prompt help.
The only missing thing was that "mpiexec.exe -np 2 .\abinit.exe <"t_kpt+spin.files"> t_kpt+spin.log", wherein I replaced abinit.exe by .\abinit.exe.

Thank you once again.

With warm regards
Deepak

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Tue Dec 28, 2010 10:38 am

Dear Mr. Alain,

After a break I am again here.

Now I tried to run abinit 6.2.3 binaries with window 7 and with quad core xeon 3440 processors.
The error is "Fatal error in MPI_Barrier: Other MPI error, error stack MPI barrier (362)" and others.
Can you kindly let me know what could have gone wrong here?

By the way I was trying to run the same files: "mpiexec.exe -np 4 .\abinit.exe <"t_kpt+spin.files"> "t_kpt+spin.log".

Any clue would be really helpful.

With thanks
Deepak

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Tue Dec 28, 2010 1:10 pm

Hello Deepak,

As already mentioned, this binary has been prepared (and tested) on XP 32bit but I checked it with that specific input on a Windows 7 Pro 64bit (with success). MPI_barrier is a routine that returns to the caller when all the other threads have called it. As it works fine on my system, I suspect that you have a problem of communication between MPI members on yours - if it is the case, it would be logic that abinit fails almost immediately after launch. Did you allow abinit to pass through the Windows firewall - I noticed a popup windows requesting permission when I ran the test the first time on Windows 7? Are you using some kind of third party firewall that would deny outbound tcp communications? If it is your case, you may disable it (temporarily) to check. Nothing fishy in abinit - MPI uses local sockets to communicate - nothing goes out of your box, you may unplug your ethernet cable during the test if you're paranoid.

Kind regards,

Alain

deepak1032
Posts: 12
Joined: Fri May 28, 2010 1:07 pm

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by deepak1032 » Wed Dec 29, 2010 5:17 am

Dear Mr. Alain,

Good Morning.

Thanks for the lightening fast reply.
Yeah, the execution of ABINIT stalls immediately after startup.
With respect to the "firewall" popup, strangely it DID N'T appear.
Will try out again with firewall disabled. Hopefully this may work.

Rgds
Deepak

abinitnewuser
Posts: 6
Joined: Tue Feb 15, 2011 2:18 am

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by abinitnewuser » Tue Feb 15, 2011 2:37 am

Hi,

I am trying Abinit 6.2.3 (ia32) on MS Windows. I can run the tests on "Intel Core2 Duo+ XP SP3", but fail on "AMD Athlon 64 x2 + XP SP2" and "AMD Pheonom II x6 1075T + Win7". The error message is something like:
4 [main] abinit 29076 exception::handle: Exception: STATUS_ILLEGAL_INSTRUCTION
1033 [main] abinit 29076 open_stackdumpfile: Dumping stack trace to abinit.exe.stackdump

which are similar to the ones posted by Deepak on Dec 10, 2010. Is it a known issue related to AMD's CPU?

Thanks for your help.

User avatar
pouillon
Posts: 651
Joined: Wed Aug 19, 2009 10:08 am
Location: Spain
Contact:

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by pouillon » Tue Feb 15, 2011 1:17 pm

No, this is because this build of Abinit has been optimized for the Intel processor instruction set (machine language). Some of these instructions do not exist on AMD processors, which is why you get these error messages.

The solution would be to rebuild Abinit with different optimizations.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Tue Feb 15, 2011 3:54 pm

Hmmm ... my optimization for SSE instructions breaks compatibility with AMD processors. Let's try to cure this. You will find specific binaries for AMD (K8 variant and up) on http://www.etsf.eu/resources/software/etsf_software_repository or directly at http://www.etsf.be/downloads/ETSF_softlib/Windows_binaries/abinit-6.2.3_amdk8.zip.
I have no AMD Windows system to test them so use them with caution and I would be grateful to have a feedback about success or failure.

Kind regards,

Alain

abinitnewuser
Posts: 6
Joined: Tue Feb 15, 2011 2:18 am

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by abinitnewuser » Tue Feb 15, 2011 6:19 pm

Hi,

I have tried the binaries for AMD K8, and completed the test (t1x.files with t11.in) on both my AMD Windows machines. Thanks a lot.

I did some parallel tests on AMD Pheonom II X6 1075 T + win7. It ran and finished the test with 6 cores. However, no matter how many cores I used, I always got the same cpu time for proc. 0. For example,

For 1 core,
- Proc. 0 individual time (sec): cpu= 0.6 wall= 0.7
+Overall time at end (sec) : cpu= 0.6 wall= 0.7

For 2 cores,
- Proc. 0 individual time (sec): cpu= 0.6 wall= 0.7
+Overall time at end (sec) : cpu= 1.1 wall= 1.3

For 4 cores,
- Proc. 0 individual time (sec): cpu= 0.7 wall= 0.8
+Overall time at end (sec) : cpu= 2.5 wall= 3.0

For 6 cores,
- Proc. 0 individual time (sec): cpu= 0.6 wall= 0.8
+Overall time at end (sec) : cpu= 3.6 wall= 5.1

Is it a problem, or the parallel processing does not have advantages in this simple test?
Anyway, I will go through the tutorial test, and I will report problems if I find them during the test.
Thanks again for the new binaries.

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Tue Feb 15, 2011 7:25 pm

Well it's already good news that the AMD binaries didn't crash on your box :-)

Testing parallel builds with such sort running time isn't really significant. So may I suggest to run a more substantial benchmark.
Create a new test directory; copy the abinit-6.2.3\share\abinit\paral\Input\t_kpt+spin.* and abinit-6.2.3\share\abinit\Psps_for_tests\26fe.pspnc files in the new dir. Edit the t_kpt+spin.files to reflect the new localization of the pseudo file. Run the test with 1, 2 and 4 cores as described in the Abinit_on_Windows.pdf doc; it should keep your system busy long enough to perceive a difference (if any, it should be quite linear). Don't forget to "unblock" Windows firewall when the security windows pops-up - nothing fishy, MPI threads use sockets to dialog i.e. nothing comes out of your box network.

Alain

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by Alain_Jacques » Tue Feb 15, 2011 9:38 pm

please update your links ... http://forum.abinit.org/viewtopic.php?f=2&t=889

Alain

abinitnewuser
Posts: 6
Joined: Tue Feb 15, 2011 2:18 am

Re: New Abinit 6.2.3 binaries for Windows (ia32) posted

Post by abinitnewuser » Wed Feb 16, 2011 3:08 am

Hi,

I have run the parallel tests (t_kpt+spin.files) as you suggested. I do not have the expertise to know if the results are correct or not, though.

The tests ran on an AMD Pheonom II X6 1075T Win 7 32bits 4GB RAM with a lot of programs (AVG 2011, IE 8, taskmgr.exe, remote desktop, abode reader, etc.) running in the background. The results are in the following. It looks like that, from 4 to 6 cores, the reduction in proc. 0 individual CPU time is still significant.

For 1 core,
- Proc. 0 individual time (sec): cpu= 878.2 wall= 881.2
+Overall time at end (sec) : cpu= 878.2 wall= 881.2

For 2 cores,
- Proc. 0 individual time (sec): cpu= 442.2 wall= 447.5
+Overall time at end (sec) : cpu= 887.1 wall= 894.9

For 4 cores,
- Proc. 0 individual time (sec): cpu= 265.5 wall= 270.2
+Overall time at end (sec) : cpu= 1047.3 wall= 1081.0

For 6 cores,
- Proc. 0 individual time (sec): cpu= 187.2 wall= 190.8
+Overall time at end (sec) : cpu= 1091.7 wall= 1145.0

Thanks very much for the new Abinit 6.4.3 for windows. I will try it and post the test results when i have them.

Locked