Error building libsmm

Alfio Lazzaro alfio.... at gmail.com
Wed Oct 29 08:59:47 UTC 2014


BTW, you can always use the libsmm generated with a previous version of 
cp2k for cp2k-2.6. The interface is the same and I don't expect any large 
improvement in performance.

Alfio



Il giorno mercoledì 29 ottobre 2014 03:48:46 UTC+1, Abhishek Bagusetty ha 
scritto:
>
> Hi Alfio,
>
> I am trying to build the libsmm in cp2k-2.6 and it looks like there has 
> been some recent commits on that. I am trying to build the libsmm and when 
> I run the tiny1, the pbs jobs run but there are no output files (*.out) 
> generated in the /run_tiny_dnn/output_linux.intel/. It looks something is 
> wrong with my setup. I haven't changed any file. Do you have any pointers 
> that comes to the rescue. 
>
> Thanks for your time,
>
> Abhishek
>
> On Thursday, October 23, 2014 4:23:20 AM UTC-4, Alfio Lazzaro wrote:
>>
>> Probably I was too optimistic when I asked you to replace the gfortran 
>> with ifort...
>> Let me explain the problem. The errors are due to the construct:
>>
>> ERROR STOP
>>
>> which is inside the file multrec_gen.f90 (lines 288 and 366). This is a 
>> 2008 Fortran construct and it appears that neither your ifort nor gfortran 
>> versions are supporting it.
>> Then there is no way to compile it unless we change the code. I would ask 
>> you to restore gfortran as host compiler in the config/linux.intel, and 
>> then open the file multrec_gen.f90 and remove the keyword "ERROR" (keep 
>> STOP) in the two lines. Try this and see if it fixes the problem.
>>
>> I see also that "ERROR STOP" is used once in the file generate.bash file. 
>> You can remove from there too.
>>
>> Alfio
>>
>>
>>
>> Il giorno giovedì 23 ottobre 2014 06:54:24 UTC+2, Abhishek Bagusetty ha 
>> scritto:
>>>
>>> Thanks for figuring out the issue. I have used ifort instead of gfortran 
>>> and I still get a different set of errors. 
>>>
>>> During the 3rd step  ./generate -c config/linux.intel -j 20 -t 16 -w 
>>> pbs small1
>>>
>>> These are the set of errors which looks different to the earlier ones :
>>>
>>> multrec_gen.f90(267): error #5144: Invalid character_kind_parameter. No 
>>> underscore
>>>      IF (ANY(best_square<1)) ERROR STOP "tiny opts file needs 
>>> sufficiently many square sizes"
>>>
>>> ---------------------------------------------------------------------------------------------^
>>> multrec_gen.f90(267): error #5082: Syntax error, found IDENTIFIER 'STOP' 
>>> when expecting one of: ( % : . = =>
>>>      IF (ANY(best_square<1)) ERROR STOP "tiny opts file needs 
>>> sufficiently many square sizes"
>>> -----------------------------------^
>>> multrec_gen.f90(331): error #5144: Invalid character_kind_parameter. No 
>>> underscore
>>>        ERROR STOP "MISSING CASE mult_versions"
>>> ----------------------------------------------^
>>> multrec_gen.f90(331): error #5082: Syntax error, found IDENTIFIER 'STOP' 
>>> when expecting one of: ( % : . = =>
>>>        ERROR STOP "MISSING CASE mult_versions"
>>> -------------^
>>> multrec_gen.f90(267): error #6404: This name does not have a type, and 
>>> must have an explicit type.   [ERROR]
>>>      IF (ANY(best_square<1)) ERROR STOP "tiny opts file needs 
>>> sufficiently many square sizes"
>>> -----------------------------^
>>>
>>> compilation aborted for multrec_gen.f90 (code 1)
>>> More info : 
>>> ifort 11.1 
>>> ./generate cleanall is done before building with ifort.
>>>
>>> Thanks for your help.
>>>
>>> Abhishek 
>>>
>>> On Wednesday, October 22, 2014 4:31:48 AM UTC-4, Alfio Lazzaro wrote:
>>>>
>>>> Ok, thanks. I can reproduce your error and I think I understood its 
>>>> source. 
>>>> It turns out that the compiler used for the compilation of the libsmm 
>>>> fortran files (gfortran 4.3 in my case) is the source of the problem.
>>>> I think the easiest solution would be to change inside the file:
>>>>
>>>> build_libsmm/config/linux.intel
>>>>
>>>> the last line from:
>>>>
>>>> host_compile="gfortran -O2"
>>>>
>>>> to
>>>>
>>>> host_compile="ifort -O2"
>>>>
>>>> BTW, the error doesn't happen if I use gfortran 4.6.
>>>>
>>>> I hope this solves your problem.
>>>>
>>>> Alfio
>>>>
>>>>
>>>> Il giorno mercoledì 22 ottobre 2014 01:44:25 UTC+2, Abhishek Bagusetty 
>>>> ha scritto:
>>>>>
>>>>> Please find the attachment for the tiny summary file. 
>>>>>
>>>>> Abhishek
>>>>>
>>>>> On Tuesday, October 21, 2014 11:10:04 AM UTC-4, Alfio Lazzaro wrote:
>>>>>>
>>>>>> Interesting... Then it seems that the problem is in the small1 
>>>>>> phase...
>>>>>> Could you send me in attachment your tiny summary file? I will check 
>>>>>> what is wrong...
>>>>>>
>>>>>> Alfio
>>>>>>
>>>>>>
>>>>>>
>>>>>> Il giorno martedì 21 ottobre 2014 15:24:06 UTC+2, Abhishek Bagusetty 
>>>>>> ha scritto:
>>>>>>>
>>>>>>> I have checked the summary file tiny_gen_optimal_dnn_linux.intel.out 
>>>>>>> and it has 9 columns with 13824 lines with no sign of corrupted entries. On 
>>>>>>> the same lines, there are 13824 *.out files in 
>>>>>>> build_libsmm/run_tiny_dnn/output_linux.intel.
>>>>>>>
>>>>>>> It looks like we can rule out that there could be something wrong 
>>>>>>> with the summary file. I guess it would be worth informing that while 
>>>>>>> collecting results using tiny2 some of the *.out files were missing so I 
>>>>>>> had to run the tiny1 again to get the completion and tiny2 went smoothly. I 
>>>>>>> am not sure if this could have triggered this issue. 
>>>>>>>
>>>>>>> let me know what you think on this.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Abhishek
>>>>>>>
>>>>>>> On Tuesday, October 21, 2014 3:20:03 AM UTC-4, Alfio Lazzaro wrote:
>>>>>>>>
>>>>>>>> OK, the files from tiny1 are generated correctly (6 columns is OK 
>>>>>>>> for the tiny1 files). The 9 columns are for the summary file generated 
>>>>>>>> during the tiny2 phase in the the main directory. Look inside the main 
>>>>>>>> directory (build_libsmm) for the file tiny_gen_optimal_dnn_linux.intel.out. 
>>>>>>>> I suspect that this file has 3 columns (the first 3) in some lines (all 
>>>>>>>> lines must have 9 columns). BTW, if you hare using the default 
>>>>>>>> configuration for tiny1 matrix dimensions, then you should have 13824 *out 
>>>>>>>> files inside build_libsmm/run_tiny_dnn/output_linux.intel. You can check it 
>>>>>>>> by using
>>>>>>>>
>>>>>>>> > ls *.out | wc -l
>>>>>>>>
>>>>>>>> The same for the summary file:
>>>>>>>>
>>>>>>>> > wc -l  tiny_gen_optimal_dnn_linux.intel.out
>>>>>>>> 13824 tiny_gen_optimal_dnn_linux.intel.out
>>>>>>>>
>>>>>>>> We can have several possible errors:
>>>>>>>> 1) some of the *.out files are missing or corrupted
>>>>>>>> 2) the summary file is corrupted
>>>>>>>>
>>>>>>>> Let me know what you get from this investigation. Likely the 
>>>>>>>> problem is in the summary file...
>>>>>>>>
>>>>>>>> Alfio
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Il giorno lunedì 20 ottobre 2014 22:54:39 UTC+2, Abhishek Bagusetty 
>>>>>>>> ha scritto:
>>>>>>>>>
>>>>>>>>> Hi Alfio,
>>>>>>>>>
>>>>>>>>> I have looked into the *.out files generated by the tiny1. I 
>>>>>>>>> didn't see 9 columns in the *.out but instead 6 columns.
>>>>>>>>>
>>>>>>>>>    1   1   1   1    0.441932       2.263
>>>>>>>>>    1   1   1   7    0.242963       4.116
>>>>>>>>>    1   1  17   1    0.370944       2.696
>>>>>>>>>    1   3   1   1    0.249962       4.001
>>>>>>>>>    1   3   1   7    0.544917       1.835
>>>>>>>>>    1   5   1   1    0.267959       3.732
>>>>>>>>>    1  15   1   1    0.498925       2.004
>>>>>>>>>    2   1   1   1    0.441932       2.263
>>>>>>>>>
>>>>>>>>> This is the output from a file (tiny_find_xx_xx_xx.out) in 
>>>>>>>>> /build_libsmm/run_tiny_dnn/output_linux.intel/
>>>>>>>>> I have modified the pbs.wlm file by getting rid of few options 
>>>>>>>>> like -lmppwidth and -lmppnppn which were not defined in the PBS for our 
>>>>>>>>> cluster. 
>>>>>>>>> I am not sure how to investigate further. Do you have any pointers 
>>>>>>>>> on how to approach this ?
>>>>>>>>>
>>>>>>>>> Thank for your time. 
>>>>>>>>>
>>>>>>>>> Abhishek 
>>>>>>>>>
>>>>>>>>> On Monday, October 20, 2014 12:41:23 AM UTC-4, Alfio Lazzaro wrote:
>>>>>>>>>>
>>>>>>>>>> Hello Abhishek,
>>>>>>>>>> could you check if the tiny2 phase is properly producing the tiny 
>>>>>>>>>> file? I mean, the error you are seeing is that the system is not able to 
>>>>>>>>>> read the tiny results during the small1 phase.
>>>>>>>>>> The file should be something similar to:
>>>>>>>>>>
>>>>>>>>>> 1 1 1    1   1   1   1    0.447362       0.447
>>>>>>>>>> 1 1 2    4   1   1   1    0.451188       0.887
>>>>>>>>>> 1 1 3    3   1   1   1    0.484057       1.240
>>>>>>>>>> 1 1 4    5   1   1   4    0.500210       1.599
>>>>>>>>>> 1 1 5    6   1   1   5    0.548113       1.824
>>>>>>>>>> 1 1 6    1   1   1   6    0.456724       2.190
>>>>>>>>>>
>>>>>>>>>> As you can see there are 9 columns. If you see only 3 (the first 
>>>>>>>>>> three ones) then there is something wrong during tiny1.
>>>>>>>>>> The next step would be to investigate if the files *.out inside 
>>>>>>>>>> the tiny1 directory and then output directory are correct (you can post an 
>>>>>>>>>> example of .out file).
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>>
>>>>>>>>>> Alfio
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Il giorno domenica 19 ottobre 2014 22:03:42 UTC+2, Abhishek 
>>>>>>>>>> Bagusetty ha scritto:
>>>>>>>>>>>
>>>>>>>>>>> Hi Users & Developers,
>>>>>>>>>>>
>>>>>>>>>>> I am trying to build libsmm small matrix multiplication library 
>>>>>>>>>>> and got an error while doing the 3rd step.
>>>>>>>>>>>
>>>>>>>>>>> Steps : 
>>>>>>>>>>> 1. ./generate -c config/linux.intel -j 100 -t 16 -w pbs tiny1
>>>>>>>>>>> 2. ./generate -c config/linux.intel tiny2
>>>>>>>>>>> 3. ./generate -c config/linux.intel -j 20 -t 16 -w pbs small1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> multrec_gen.f90:267.29:
>>>>>>>>>>>
>>>>>>>>>>>      IF (ANY(best_square<1)) ERROR STOP "tiny opts file needs 
>>>>>>>>>>> sufficiently many
>>>>>>>>>>>
>>>>>>>>>>>                              1
>>>>>>>>>>>
>>>>>>>>>>> Error: Cannot assign to a named constant at (1)
>>>>>>>>>>>
>>>>>>>>>>> multrec_gen.f90:331.7:
>>>>>>>>>>>
>>>>>>>>>>>        ERROR STOP "MISSING CASE mult_versions"
>>>>>>>>>>>
>>>>>>>>>>>        1
>>>>>>>>>>> Error: Unclassifiable statement at (1)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> It would be great, if anyone has any pointers to get a fix on 
>>>>>>>>>>> this issue. 
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> Abhishek
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> -----------------------------------------------
>>>>>>>>>>> Abhishek Bagusetty
>>>>>>>>>>> PhD Student, Computational Modeling & Simulation
>>>>>>>>>>> Center for Simulation and Modeling
>>>>>>>>>>> Department of Chemical & Petroleum Engineering
>>>>>>>>>>> University of Pittsburgh
>>>>>>>>>>> Pittsburgh, PA - 15261
>>>>>>>>>>> Office : 920 Benedum Hall
>>>>>>>>>>>
>>>>>>>>>>> -----------------------------------------------------------------------------------------------------------
>>>>>>>>>>>
>>>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20141029/c54c61e6/attachment.htm>


More information about the CP2K-user mailing list