I want to use the SDE (software development emulator) to count the number of FLOPs for my application for a certain processor that i use on the cluster on which i run my code.
I have downloaded the linux version of the SDE and when i run it with this command
./sde -hsw -iform 1 -omix instruc_mix.out -top_blocks 5000 -- /hpc/home/rogupta/C_version_current_gcc_fftw3/./computeC
in the directory where i have downloaded the code I get an error about a shared library not being found. This is strange because i didn't touch the 'kit' as it is called and i can see the file in the path mentioned.
SDE ERROR: Could not find file: /hpc/home/rogupta/C_version_current_gcc_fftw3/sde-external-7.45.0-2016-05-09-lin/intel64/sde-mix-mt.so
Is it possible you rearranged the kit files?
Please do not do that.
Could you please
suggest what i might be doing wrong and how can I make it work?
The script i use to submit to the cluster is pasted below. I have obscured the exact path but one can assume for the sake of completeness a proper path in the place of $some_path$
#PBS -l select=1:ncpus=1:node_type=parallel
#PBS -l software=sde
#PBS -q short
#PBS -e ./err
#PBS -o ./outpt
module add gcc/5.1.0
module add openmpi/gcc/64/1.6.5
module add fftw/3.3.3
./sde -hsw -iform 1 -omix instruc_mix.out -top_blocks 5000 -- //$some_path$/C_version_current_gcc_fftw3/./computeC
NOTE:- I previously posted my question in the moderncode for parallel architectures forum which is where the link mentioned as ''forum'' on the SDE page (https://software.intel.com/en-us/articles/calculating-flop-using-intel-software-development-emulator-intel-sde) takes you when you click on it. Please don't mind if this is not the correct forum for this post. Please help me direct this question to the right audience.
This error message usually indicates that the SDE executable is unable to access the internal component sde-mix-mt.so.
This might happen when the directory (intel64 in this case) or the shared object (sde-mix-mt.so) are owned by another user or miss the right permissions. Can you check that?
I checked and chmodded all files to 777 and that removed the errors i had because od sde-mix-mt.so but now i get a new error
The./sde is already chmodded to 777. I also tried with sde64 but the permission denied error persists.
Do you have some more suggestions?
This errors looks like an error from the shell and not from SDE itself.
Can you run ./sde64 -help (or use the full path to the sde binary) this should give the help message and exit?
That produces the help output as mentioned on the product page of SDE. So this means the shell doesn't allow sde to run ?
I am running on a cluster via PBSpro. I submit a request and mention the binary the scheduler must run on the node i choose to run on. How can sde with the arguments to run my app does not run but the help option runs fine
output of the help option is attached
with kind regards
I'm not familiar with PBSpro so I don't know of the underline machanism that provides the access to the files in the distibuted nodes.
Getting the help message is a sign that there is no problem running the SDE executable.
Can you change the script to use a full path to sde64 binary?
I tried that but to no avail. The error persists.
The PBS nodes use network file system so the nodes on which the code must run do not need to have a copy of the actual files.
However, if the help message works then there is something else that the sde accesses or is trying to write to or read from that is not allowed. I'll try changing permissions of all the sub folder of my download.
with kind regards
The file too short error usually means that the download is broken.
Can you download the kit from the download page and try again?
You can check the integrity of the kit by extracting it into a local disk area and run sde with a simple application like /bin/ls.