I met another problem with (2024)

Software Archive

Read-only legacy content

  • Intel Community
  • Developer Software Forums
  • Software Archive
  • I met another problem with

17061 Discussions

file open failed in offload mode

More actions

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page

I met another problem with (1)

White_B_

Beginner

‎07-10-201406:47 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

hi~

I tried the following code in offload mode. However, it returns "file open failed". I know that I should set the environment variable about ./proxyfs/ However, I don't know whether I have successfully set it. Can anyone please tell me how to set it and how to test whether it's set successfully?

Thanks!

#pragma offload_attribute(push,target(mic))#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma offload_attribute(pop)int main(){FILE *fp;char buffer[7];#pragma offload target(mic) nocopy(fp){fp = fopen("./proxyfs/myfile.txt","wb");if (fp==NULL){fprintf(stderr,"Failed to open myfile.txt for write\n");exit(1);}fwrite("Hello\n",1,7,fp);fclose(fp);}#pragma offload target(mic) nocopy(fp) out(buffer){fp = fopen("./proxyfs/myfile.txt","rb");if (fp==NULL){fprintf(stderr,"Failed to open myfile.txt for write\n");exit(1);}fread(buffer,1,7,fp);fclose(fp);if (strcmp(buffer,"Hello\n")!=0){fprintf(stderr,"File incorrectly read back on coproc\n");exit(1);}}printf("%s",buffer);return 0;}
  • Tags:
  • Cluster Computing
  • Enterprise
  • Intel® Many Integrated Core Architecture

0Kudos

  • All forum topics
  • Previous topic
  • Next topic

Link Copied

10 Replies

I met another problem with (2)

Kevin_D_Intel

Employee

‎07-10-201408:25 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

The MIC_PROXY_FS_ROOT environment variable associated with the proxyfs was depreciated over a year ago or so. You will have to consider using NFS. You can refer to earlier inquiries here and here.

The program fails due to the "./proxyfs" sub-directory not existing. If you drop that portion then the code runs and creates a local file on the coprocessor within the current working directory associated with the offload execution process.

I met another problem with (3)

White_B_

Beginner

‎07-10-201401:50 PM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Hi~

when I delete "./proxyfs", it works. However, can I get access to the *.txt file from outside the program?

I tried find command on mic0 and get nothing.

So if I want to get access to the file from outside the program, I have to use the NFS stuff, right? thanks

I met another problem with (4)

Kevin_D_Intel

Employee

‎07-11-201402:11 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

The offload process executes on the coprocessor using a temporary working directory located under /tmp/coi_procs/… .That directory and all contents are removed at program termination. If you want/need to create files on the coprocessor and keep them (temporarily) for use later outside the program then create a local directory (perhaps under /tmp) on the coprocessor and modify the program to create/modify files there, or just create/modify the files directly in /tmp. Note that /tmp is purged when the coprocessor boots so it’s not meant for long term file saving. Alternatively, you can perform file I/O to a NFS mounted filesystem where your files would be available after program termination from the server.

I met another problem with (5)

White_B_

Beginner

‎07-11-201407:11 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Thanks for your explanation. I have two more groups of questions:

1. About the temporary directory/files.

Since you mentioned the local directory /tmp. Is this directory on the host or on the co-processor? I tried the command find $home -name 'tmp' on both the host and the co-processor, but found nothing. (From your explanation, I guess it should be on the co-processor, but I cannot find it.) Or do I need to explicitly create such a directory? If so, where, the co-processor or the host, should I create the directory? Should the created directory be directly under the path /home/user_name/ ?

2. About the NFS setting.

I've read this readme web-page, however, there are some instructions that I don't understand. In the section 7.6, it refers to the port 111 and 2049. I run command rpcinfo -p on the host and find there are lines like

proto port service

tcp 111 portmapper

udp 111 portmapper

tcp 2049 nfs

udp 2049 nfs

Does this mean that the required ports have been enabled? And the manual gives an example about "/mic0fs". Is this directory located on the host or the co-processor? It seems that I should create such a directory, Is it necessary to create the directory directly under the path "/home/user_name/" ?

Thanks again.

I met another problem with (6)

Kevin_D_Intel

Employee

‎07-11-201409:58 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Regarding the questions:

1. /tmp is on the coprocessor. It is a system provided directory (really a sym-link) and thus you do not need to create it. It will be clearly visible/accessible after ssh-ing to the coprocessor (see below). I do not know what login id you used to connect to the card but /tmp resides at “/” (root) level not within $home and unless you have explicitly set it, that variable is not defined by default. $HOME is but on the coprocessor under the “root” login id it is set to /root.

[root@xxxxxxxx-mic0 etc]# ls -l /drwxr-xr-x 2 root root 1660 Dec 31 1969 bindrwxr-xr-x 2 root root 80 Dec 31 1969 bootdrwxr-xr-x 13 root root 2520 Jun 24 12:10 devdrwxr-xr-x 27 root root 1440 Dec 18 2013 etcdrwxr-xr-x 4 root root 4096 Jun 3 18:22 home-rwxr-xr-x 1 root root 3512 Dec 18 2013 initdrwxr-xr-x 3 root root 60 Dec 31 1969 libdrwxr-xr-x 4 root root 1520 Jun 24 12:10 lib64drwxr-xr-x 10 root root 200 Dec 31 1969 mediadrwxr-xr-x 2 root root 120 Dec 31 1969 mntdr-xr-xr-x 980 root root 0 Dec 31 1969 procdrwxr-xr-x 3 root root 100 Jul 11 04:29 rootdrwxr-xr-x 2 root root 1620 Dec 31 1969 sbindrwxr-xr-x 2 root root 340 Jun 24 12:10 sep3.15drwxr-xr-x 12 root root 0 Dec 31 1969 syslrwxrwxrwx 1 root root 8 Dec 31 1969 tmp -> /var/tmpdrwxrwxrwx 11 root root 220 Dec 31 1969 usrdrwxr-xr-x 7 root root 240 Dec 31 1969 var

2. I won’t profess to be a network/NFS expert and there are others who frequent this forum who can help and hopefully will chime in.

The readme you cited is for the MPSS 2.1 release, so if you are using that older release you should consider upgrading to the newer MPSS. I believe a newer update is due to be available in a few business days so you may want to await announcement of that and then upgrade as I think you would be well served by updating your MPSS.

rcpinfo provides info about RCP services running on the system. The -p includes the port # binding. Even with what you show it is still possible iptables could block NFS access, but I believe generally under a default Linux installation ports are not blocked. So, unless you are knowingly doing something specific to alter iptables, perhaps assume you have the ports open and usable w/NFS and proceed with configuring and trying to mount the filesystem of interest on the coprocessor.

In the example you cited from the readme, /mic0fs is a directory that resides on the host at the “/” (root) level. It is expected to have to create that on the host first and then setup both the host and coprocessor configurations necessary to NFS mount it to coprocessor. The example uses coprocessor 0, also known by the name “mic0”.

If your interest is in mounting user home directories from the host, then you would not create any such “mic0fs” sub-directory under the user’s home but instead just setup the host and coprocessor NFS configurations to export the user home directory from the host and mount it on the card. Doing this may also start getting a need for enabling normal user accounts on the card. That’s another can of worms…..

Here are some good references available that can assist with setting up NFS and adding User accounts on the coprocessor:

System Administration for the Intel® Xeon Phi™ Coprocessor
Intel® Manycore Platform Software Stack (Intel® MPSS) Cluster Setup Guide
Intel® Manycore Platform Software Stack (Intel® MPSS) User’s Guide

I met another problem with (7)

White_B_

Beginner

‎07-20-201407:53 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Hi~

I tried modifying the /tmp directory directly, it works.

I've almost finished the sect 7.6 of the readme document. However, I have a question about 7.6 3-d, which is "Chown michome directories as appropriate". I've never used the chown command before. This command seems to be related to ownership of a directory. I set the nfs settings according to the readme via root account. Normally, I log on the system via a sudo account called newuser. In this case, how do I use chown to set the ownership of the michome directory?

And, after I finished steps of the sect 7.6, do I need to modify the code posted above to perform offload I/O?

Thanks!

I met another problem with (8)

Kevin_D_Intel

Employee

‎07-21-201410:36 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Before completing step 7.6 3-d, there may be more to step 7.6 3-c that is needed. Step c had you create the /srv/michome directory. Under this directory you need to also create home areas for any users. At least one you can create is the micuser. You can also create a newuser area here (based on your setup) and then modify your program (in your initial post) to perform I/O (during offload) into that newuser home directory. e.g. Use these open statements in your original program:

fp = fopen("/home/newuser/myfile.txt","wb"); // In the first offload sectionfp = fopen("/home/newuser/myfile.txt","rb"); // In the second offload section

Because the offload process runs as micuser you need to make certain the newuser home area has sufficient permission to allow the micuser id to read/write that area.

So, in step c, if you created two home directories, micuser and newuser, then in step d you use chown to change the owner of each to their respective owner id, and then you use chmod to enable group access permissions to the newuser area. So you might do something like this on the host while working under a normal user account id:

user-account> sudo mkdir -p /srv/michome/micuseruser-account> sudo chown micuser /srv/michome/micuseruser-account> sudo mkdir -p /srv/michome/newuseruser-account> sudo chown newuser /srv/michome/newuseruser-account> sudo chmod 775 /srv/michome/newuser

The above “775” in the last chmod command enables group access for the group associated with the newuser home area. I do not know what the default group is for your newuser account id, but to enable your offload process to read/write into the newuser home area, you need to add the group associated with the newuser home area to the micuser account id. Let’s assume the group associated with the newuser home area is newuser. You would grant the micuser id group access using this command:

user-account> sudo usermod -a -G newuser micuser 

When using the usermod command above, please make sure you identify the group association for the newuser home area on your system first and then use that group name in the command above.

If you supplement the instructions 7.6 3 with the added steps above then that should enable your offload program to perform I/O into the newuser home area.

I met another problem with (9)

White_B_

Beginner

‎07-21-201403:02 PM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

I met another problem with the newuser account.

I used to be able to log in to mic0 via newuser account smoothly. However, maybe after I run 7.6.3-efgh, the problem appeared.

It's fine when I log in to the host via newuser. However, when I logged on to mic0, it asked for password. I can log on to mic0 after typing the password, with a line Could not chdir to home directory /home/newuser: No such file or directory. I found no /home/newuser on mic0.
This line disappeared after I created /srv/michome/newuser on the host, but I still need password to log in to mic0 via newuser, while root account needs no password to log in.

I found no /home/newuser/.ssh on mic0. When I tried mkdir .ssh it returned mkdir: can't create directory '.ssh' : Permission denied.
Then I tried to modified /srv/michome/newuser on the host via newuser with sudo privilege. I created /srv/michome/newuser/.ssh/id_rsa.pub and authorized_keys. And I have /home/newuser/.ssh/id_rsa on the host. But I still need password to log in to mic0.

I wonder if there're still other required procedures to do or I mis-paired the key. Currently, I haven't find I make any mistakes in pairing the key.

I met another problem with (10)

White_B_

Beginner

‎07-21-201404:11 PM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Sorry to have more questions:

1. Now I can use offload to write to the directory /newuser. (THANKS!) However, I cannot use offload mode to get access to /newuser/data, that is, it's sub-directories. Is there any way to get access to its sub-directories?

2. on the host,

scp ./file newuser@mic0:/home/newuser/dir1/dir2/

cp ./file /srv/michome/newuser/dir1/dir2/

Is there any difference between these two commands?

Thanks

ps, in your second piece of code, I think "src" is a typo for "srv", right?

I met another problem with (11)

Kevin_D_Intel

Employee

‎07-22-201403:46 AM

824 Views

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

Yes you are correct that in the series of commands to make the directories and set owner those should have used “srv” not “src”. I corrected those in the earlier post.

Glad to hear you have the offload I/O working.

Regarding question #1, the issue is likely the permissions/group access on the sub-directories. Check that the dir1 and dir2 have “775” permissions the same group ownership as their parent (i.e. /srv/michome/newuser). You can change the group ownership using chgrp. I don’t know what the default group is for your newuser id, but let’s say it is “newuser”, so then to set the permissions/group ownership for the sub-directories so offload will work you might do this:

user-account> sudo chmod -R 775 /srv/michome/newuseruser-account> sudo chgrp -R newuser /srv/michome/newuser

Regarding question #2, the difference between the two commands is that the first has the added levels of “authentication”, ssh and NFS, and the second command copies the file locally on the host.

I met another problem with (12)

Reply

Topic Options

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Printer Friendly Page
  • All forum topics
  • Previous topic
  • Next topic

Community support is provided Monday to Friday. Other contact methods are available here.

Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

For more complete information about compiler optimizations, see our Optimization Notice.

I met another problem with (2024)
Top Articles
The 23 best places to go out in Agra
Issue October 2021 - Woman's Weekly Living Series
Pr 127 Seat Map
Pwc Transparency Report
Everything you need to know about a Sam's Club Membership
Sixth Circuit Denies Qualified Immunity for State University Officials Who Allegedly Violated Professor's First Amendment Rights
Boost Mobile 69Th Ashland
Atrium Attorney Portal
Does Publix Pharmacy Accept Sunshine Health
80 For Brady Showtimes Near Brenden Theatres Kingman 4
Ravens 24X7 Forum
Jet Ski Rental Conneaut Lake Pa
How To Get To Brazil In Slap Battles
Rebecca Benedict Forum
Paperless Pay.talx/Nestle
1977 Elo Hit Wsj Crossword
The Nun 2 Showtimes Tinseltown
Fintechzoommortgagecalculator.live Hours
Where Is The Nearest Five Below
Maximise Your Funding: Key Insights on Accounting for Grants
Unblocked WTF, UBG9 Unblocked Games, UBGWTF Games, Unblocked WTF, WTF Games Unblocked
Craigslist Pets Baton Rouge La
Koal Bargain Bin
Craigs List Duluth Mn
Kaylani Lei Photos
What is a Nutmeg in Soccer? (Explained!) - Soccer Knowledge Hub
Dreamhorse For Sale
Kim Dotcom to fight extradition, says he won't get fair trial in US
Shawn N. Mullarkey Facebook
Frequently Asked Questions | Google Fiber
Israel Tripadvisor Forum
Highplainsobserverperryton
Banning Beaumont Patch
Framingham Risk Score Calculator for Coronary Heart Disease
What Is The Solution To The Equation Below Mc010-1.Jpg
Cornerstone Okta T Mobile
Ludwig Nutsac
Media Press Release | riversideca.gov
Commuter Rail Gloucester
Walmart Careers Application Part Time
Farmers Branch Isd Calendar
Craigslist Farm Garden Modesto
Ihop Ralph Ave
Ccga Address
Craigslist Sf Bay Free Stuff
marie claire Australia January 2016 Robyn Lawley, Rachel Taylor, Sarah Snook • EUR 11,50
Apartments for Rent in Atlanta, GA - Home Rentals | realtor.com®
Realidades 2 Capitulo 2B Answers
Jetnet Login Aa
Math Nation Algebra 2 Practice Book Answer Key
Henry Ford Connect Email
Craigslist Sf Jobs Food And Beverage
Latest Posts
Article information

Author: Edwin Metz

Last Updated:

Views: 6178

Rating: 4.8 / 5 (58 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Edwin Metz

Birthday: 1997-04-16

Address: 51593 Leanne Light, Kuphalmouth, DE 50012-5183

Phone: +639107620957

Job: Corporate Banking Technician

Hobby: Reading, scrapbook, role-playing games, Fishing, Fishing, Scuba diving, Beekeeping

Introduction: My name is Edwin Metz, I am a fair, energetic, helpful, brave, outstanding, nice, helpful person who loves writing and wants to share my knowledge and understanding with you.