- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using Intel Parallel Studio XE 2015 in Visual Studio 2010 Professional on Windows 7 64-bit Professional. I uninstalled all version of Intel products and installed just Parallel Studio XE 2015 today, but I am still having problems with the VS integration.
I have a console application and the source code is in fixed form .for files. There are several minor problem I am experiencing:
Problem 1:
I have a .for file that contains several simple modules, let's say:
module Fields integer(kind=4), allocatable, dimension(:,:) :: fieldInt2D real(kind=8), allocatable, dimension(:,:) :: fieldDouble2D end module Fields module Properties real(kind=8) :: propertyDouble end module Properties
If I start typing "use" anywhere in the code, a list pops up, but it only contains the name of the first module (Fields) and other items in the list that probably correspond to the other modules, but these other items have empty names, so it is not possible to know which one should be selected from the list.
Problem 2:
It often happens that if I hove the mouse pointer over a subroutine call, the list of this subroutine's arguments contains "NONE :: argument1" even though the argument type is specified in the subroutine. It is difficult to give an example as I was not able to find any rule for situations with this problem, but one example would be:
subroutine write_2D_field_double ( x, iunx, finame ) use ifport use ifwin include 'frequent.inc' ! contains nx, ny declared as integer(4) real(8), dimension(nx,ny) :: x integer(4) :: iunx character(20) :: finame ... return end
Hovering over the subroutine or its call shows "NONE :: x"; the other arguments are OK.
Problem 3:
Local variables declared as "logical(4) :: logVar" do not show any tool tip when the mouse pointer hovers over their names in the code. The statement "logical" is shown as the intrinsic function in the tooltip, but the compiler understands it is a declaration of a logical variable. Changing the declaration to "logical(kind=4) :: logVar" does not help.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jirina,
for problem 1 I can only comment, that it seems to be a good idea to write only one module into one file in general. Because if you maybe will switch to Linux one day ;-) and want to use Eclipse as IDE, your project will only build, if each file contains only one module. Newer versions of Eclipse maybe have not this issue but with Indigo up to Kepler I could not resolve this problem.
Regards,
Johannes
ps. I may add another problem:
Problem 4: brace matching (the courser triggered one not the CTRL+somekey) is confused by strings seperated by '...' or "..." as well within format statements.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried distributing the modules into individual files, but the problem that I don't see their names after I type "use " persists. I think it must be something in the integration.
Let me add one more problem:
Problem 5:
I sometimes need to continue a statement on a new line, so I place "+" in the 6th column of the new line of my fixed form code. If I select a block of code that contains such continuation and press Ctrl+K, Ctrl+C to comment the block, it is done incorrectly - "!" is placed to the 6th column in all lines of the block and the result is not understood as comment by the compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, we'll check this out.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you.
Also, would you please comment on the fact that typing something in the editor causes that parsing the corresponding file is started? Is this expected behavior and if it is, would be possible to make it an option in settings? Parsing a file uses CPU time and reduces time I am able to work on my laptop if I am not connected to AC power and I use the battery.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the parsing is automatic when the file changes. MSVC does the same thing. The parsing doesn't take much time but you can disable parsing entirely in the Text Editor > Fortran > Advanced options. I will suggest an added setting to parse only on file open or save - would that work for you?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That would be great - file open and file save are optimal moments for parsing, at least in my case. Thank you again, I appreciate your effort.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I find that VS2010 becomes very sluggish after a few minutes of working with the ifort 15.0 integration - I can typically be a word or so ahead in typing than what is displayed. I still see the status bar flickering as I type with "Parsing file" or whatever, even after setting all the relevant options to stop parsing. See attached. Have I missed one?
(My editor windows still have the drop down navigation bars to select modules and subroutines present in the current file, which suggests to me I have missed something. Also, sometimes (I've not worked out the pattern when typing comments the integration decides to "help" me by autocompleting a source code constructs (oh - you typed "type" in a comment - let me author a type declaration construct for you!) - what's the go with that?)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You need to restart VS to have those settings take effect.
I think if you press tab after some "snippet" prefix it fills it in. It doesn't seem to know if you're in a comment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've restarted multiple times (in fact VS has been helpfully restarting for me whenever I hit a breakpoint or exception in a certain file while debugging, which is starting to drive me around the twist..).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can confirm IanH's observation. I used the same settings like shown in his screenshot, clicked OK, restarted VS (I got a message that the restart is needed for changes to take effect; I got the same message twice for an unknown reason), I even restarted my computer; and yet, I can see the message "Parsing file ..." flickering in the status bar, making the CPU busy for a short period of time.
Edit: I decided to uninstall XE 2015 and go back to XE 2013 Update 4. The problem is the same there, but it does not feel so bad - in XE 2015, there is a very laggy response of the editor to any typing, copy/paste and generally any changes; it quite often happens that the cursor disappears and the editor starts responding after several seconds! This behavior gets slightly better if integration options are disabled, but as they are something I use and need frequently, it is better to keep them enabled in XE 2013.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have just installed Parallel Studio XE 2015 Composer Edition Update 1 Integration for Microsoft Visual Studio 2010, Version 15.0.0115.2010, after uninstalling all Intel Fortran related products before that.
I am still experiencing integration problems that I have already reported above, so I would like to ask if those problem were planned to be fixed in Update 1 or if I need to wait for next updates.
These is the overview of problems I have:
Problem 1 (different now) : typing use show a list of all available modules, however, there are empty names on the top of the list, and their number is different from the number of available modules. I am not sure if this can be caused by the fact I still have multiple modules in the same source file.
Problems 2 and 3: Dummy and local variables declared as real(4), real(8) or logical(4) have their type statements formatted as intrinsic functions, so marking local variable in the code does not highlight them in the declaration part and hovering over the subroutine name shows the type of corresponding dummy arguments as NONE.
Problem 5: Indenting code that contains "+" in the 6th column as continuation indication, places exclamation mark in the 6th column, so the code is not understood as commented out.
Problem 6: Parsing is done after typing every single character, making the editor response sluggish after some time.
It seems no problems were resolved in this update, so either this is the expected state, or I did something wrong during the installation.
I even don't see any help topics in Microsoft Help Viewer, I tried e.g. SLEEPQQ, REAL, etc. I can open help in Chrome, so the question is whether this is also expected.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could someone from Intel comment on my previous post? Or is there any place where I could find out myself what is going to be fixed and when? Thank you and sorry for being so impatient.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For the empty names of modules, we'll need to see a sample source that shows that problem as it's not typical.
I'll take a look at the other issues you reported.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't reproduce problems 1, 2 and 3. Please supply a source file that demonstrates these issues.
Problem 5 is an existing issue, ID DPD200361714, reported here.
I haven't been able to reproduce problem 6. I suppose it might happen for a very large source file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I created a project that demonstrates problems 2 and 3. I created the project as free form and there were no problems, but after using the same compiler and linker settings like in my original project problems 2 and 3 emerged. I suspect the fixed form might be a potential cause.
I do not see problem 1 in the simple project; I will keep trying.
Regarding problem 6, you suggested adding an option to do parsing only at file load/save. Is this going to happen? My largest source files are up to 2000-2500 lines, is that too much?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No, 2000-2500 lines is not too much. 25000 lines might start to be an issue. I did submit the suggestion to defer parsing.
Thanks for the sample - I'll look at it tomorrow. Yes, fixed-form source might be relevant, (Could I convince you to switch to free-form source for new code?)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you. I would be more than happy to switch to the free form source; unfortunately, the project contains hundreds of thousands of source code lines, so rewriting it manually would take too much time. If there was an automatic converter, I would definitely give it a try. I found some references on Internet, but they seem old and corresponding converters functioning not that well; I guess if there is something reasonable you would know about it...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks - the issue seems to be variables whose names contain typenames, such as ArrayReal or ArrayDouble. It isn't the type itself that is the issue. ArrayInt works because "Int" isn't a type name. I don't see the problem with the declarations "formatted as intrinsics", though I know if you're typing "real" the editor will give you hints as if you're referring to the intrinsic. I consider that harmless.
I'll send this one along to the developers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Variables containing type names were only used in the example; I use such names in my project that they do not contain any type name. I changed array names to arrayA, arrayB and arrayC, and the problem persists. I still think the problem is related to the fact that real(n) and logical(n) are marked as functions converting their arguments, while integer(n) is marked as variable type. In spite of this marking, the compiler understands that all of them are variable declarations.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, I see that now. Thanks.

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