Quantcast
Channel: Intel® Software - Intel® Visual Fortran Compiler for Windows*
Viewing all 5691 articles
Browse latest View live

ERROR: 11035: Fatal error cannot open library

$
0
0

I am going to link LS-DYNA with Fortran using visual studio, but when I am trying to compile my UMAT, I got this error.

ipo: error #11035: Fatal error cannot open LIBCMT

ifort: error #10014: problem during multi-file optimization compilation <code1>

 

NMAKE: fatal error U1077: 'ifort' : return code '0x1'

 

I read the previous comment about this issue, but it was so complicated for me as an amateur user.

So, I'll be appreciated if you just inform me in an easy way.

 

thanks


How create a dynamic library from multiple files...

$
0
0

Hi!

The question is easy, how can I create a dll library from several fortran files?

Javier

Can't Load Fortran 90 Files on Visual Studios

$
0
0

Hello,

I am trying to run a .f90 code. I've installed Visual Studios 2017 first, then installed Parallel Studio XE and got no errors. However, when I load up Visual Studios and try to load the Fortran file or even try to create a blank new Fortran file the option doesn't show up for Fortran. 

I am running on Windows 10 currently. What should I do?

 

Thank you,

Joseph S

linking intel fortran with visual studio

$
0
0

I am trying to set up Abaqus 2016 with intel parallel studio 2019 and visual studio 2019.

I have first set up visual studio 2019 and then parallel studio 2019 on my computer. Then I have added the environment paths to ifortvars and vsvars64 . 

When I start Abaqus I get the following message on console

Invalid command line argument: vs2019

Intel(R) MPI Library 2019 Update 4 for Windows* Target Build Environment for Intel(R) 64 applications
Copyright 2007-2019 Intel Corporation.

Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
Intel(R) Compiler 19.0 Update 4 (package 245)

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.1.3
** Copyright (c) 2019 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

 

Hence it appears that Abaqus is able to recognize visual studio 2019 and intel parallel studio 2019.

However it cannot recognizer the environment variable vs2019.  Is this due to intel fortran not recognising visual studio or incomplete path?

Thank you

package signature verification failed

$
0
0

Hi, 

I am trying to install Intel® Parallel Studio XE Cluster Edition for Windows.

I downloaded an install file but ran into error if I click the file "installer" with the message "parallel studio xe Package signature verification failed". 

I believe I got a license correctly, checked it from certmgr.msc with the name AddTrust External CA Root. 

I am using Windows 10 64-bit operating system btw. 

 

Please help me get through this issue. 

Best,

Taehoon

Coarray strategy for ... big coarrays.

$
0
0

I would like to understand better the underlying model for coarrays, from a performance standpoint, to make informed architectural decisions for a large analytical code. This code requires a very large amount of data to be accessed across coarray images - the order of magnitude is in the 10s or 100s of GB of data per coarray image.This data is organized within a derived type on each coarray image.

If the derived type is declared as a coarray itself, does it mean that a 'copy' of it is created in a 'buffer' (accessible by all other images), and that synchronization of the entire 'buffer copy' with the local data occurs after each execution segment, if any of the derived type data is changed? Say, if only a scalar component of the derived type is modified by a remote image... is the entire coarray flagged as needing updating at the next synchronization point? This would be very inefficient and time consuming - I hope my understanding here is very naive and does not reflect what actually happens.

An other strategy would be to use much smaller coarrays that will serve as temporary communication vectors for the data. When instructed, each image would copy in these smaller coarrays the data needed from the large derived type variable. This is of course more cumbersome to handle. What is the recommended practice?

If anybody knows of documentation that could help here this would be tremendously appreciated!

 

 

License file required

$
0
0

I just got a new computer with Windows 10 and I wanted to reinstall Intel Parallel Studio Composer Edition 2016 for Fortran Windows (with Visual Studio 2013- 2013 Shell Integrated). I therefore need a license file for the reinstallation.

Thank you

VS2019 support in 2020 Tech Preview UPDATE 1 release

$
0
0

Intel® Fortran Composer XE 2020 Technical Preview (beta) Update 1

VS2019 integration is in Update 1! 

We are pleased to announce Intel® Parallel Studio XE 2020 Technical Preview Composer Edition UPDATE 1 for Fortran is ready for testing.  Packages are available for Linux*, Windows*, and macOS* X.   

The UPDATE 1 package for Windows includes support for integration into Visual Studio 2019.  The original release did not have this feature.  You can also get VS2019 Integration support with the latest 2019 Update 4 if you are looking for a product compiler.

These packages contain a Pre-Release version of Intel® Fortran version 19.1.  That's right, we have a "dot-1" minor release this year.  But for Fortran it's anything but minor!  This is one of our most ambitious releases to date.  We've added many Fortran 2018 features.  Get the DETAILS HERE.

When you're ready to join our test program, GO HERE to learn more and sign up!


Integration With Visual Studio 2019 Fails

$
0
0

So during the installation some warnings pop up that state that Visual Studio Installation is not complete,

but VC++ is installed. Idk what else could be missing.

Difference in results obtained using command line and MS Visual Studio 2017 methods of building an IVF project

$
0
0

I have a Fortran project that uses an iterative method for solving a nonlinear set of model equations. At each step, the algorithmic steps work towards driving the difference between successive iterates towards zero. Convergence is declared when the relative difference is small enough ex. 1.0E-05.

When running this project with MSVS2017 and IVF 19.0.2.190 [IA-32], the iterative process begins to stagnate after a few iterations and the relative difference does not go below 0.01. However, when running the same project from the IA-32 command line, the successive iterations converge rapidly to a relative error that is below 1.0E-05 to 1.0E-06. Are there any suggestions for what may be causing this discrepancy? I do not want to make algorithmic refinements unless I have to.

The command line compile options (same as those in the MSVS2017 project) are:

/nologo /debug:full /Od /warn:interfaces /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /Qm32 /c 

.DLL file Link #C

$
0
0

First of all, let me introduce myself I am engineer. I am developing the mooring analysis program using the Intel® Parallel Studio XE 2017 Professional Edition for Windows which is installed on the Microsoft Visual Studio Professional 2017(C#).

I have been compiling this program to use the Fortran Libraries (- Runtime Library : Multithreaded) and Fortran Language (- Process OpenMP Directives : Disable) to make “ssc.dll” file.

The following is head of program.

 

FUNCTION IMOORLNG(InputFile, OutFile1, OutFile2, OutFile3,

     *                drope,    List_a, listcount,

     *                dolName1, dolname2, dolname3,

     *                dolName4, dolname5, dolname6,

     *                dolName7, dolname8, dolname9,

     *                dolName10, dolname11, dolname12,

     *                dolName13, dolname14,

     *                dolCount, errstr)

      !DEC$ ATTRIBUTES DLLEXPORT, C, ALIAS : "IMOORLNG" :: IMOORLNG

 

I tried to call this ssc.dll in the main program of the C# base. However, it did not call ssc.dll.

Please help me how to call this ssc.dll.

Mixed Fortran/C - objects

$
0
0

Hello, my problem is as follow: 

I have an exemplary  fortran class: 

      module mod_obj
       
        type object 
            integer :: a, b, c
            real(kind = 8), allocatable, dimension(:,:) :: matrix
        contains
            procedure :: fun2
        end type   
    contains 

        ! Initialize object 
        subroutine fun1(obj, a, b, c)
            type(object), intent(out), allocatable, dimension(:) :: obj
            integer, intent(in) :: a, b, c
            integer :: s
            s = 10
            allocate(obj(1))
            allocate(obj(1) % matrix(s,s))
            obj(1) % a = a
            obj(1) % b = b
            obj(1) % c = c
            ! do some more stuff e.g. calculate values of matrix
        end subroutine 
        
        ! Perform some claculations depending on input argument(s)
        subroutine fun2(this, x)
            class(object) :: this
            integer, intent(in) :: x
            ! do some algebraic operation on matrix depending on x value e.g. matrix = matrix * x
            this % matrix = this % matrix * x
        end subroutine
    
    end module

From C/C++ I would like to:

- first call fun1 to initialize object (and save somehow its handle) 

- call fun2 for different values of x to calculate new values of matrix in my saved object

If it simplify a little on C/C++ I do not need access to fields of Fortran object - actually I need only values of matrix which (in the worst case) I can copy in another Fortran function taking as an argument the pointer to C/C++ matrix. 

Best, 

Adam 

  

 

 

 

  

Assigment on polymorphic variables

$
0
0

Hello
I'm doing a comparative between fortran compiler and gfortran 8.1. Both compilers have very different behaviour for assignment polymorphic variables and I don't know who have reason or not, if both are applying standard fortran 2008.

I'm sending an example where gfortran works but intel give me errors. If I comment the zone of gfortran (into swap_elements_list subroutine) and uncomment the lines for Intel, then ifort works but gfortran give me errors.

Someone have an idea about this?

Program Check
implicit none

!> Type definitions
Type :: Refl_Type
integer,dimension(:), allocatable :: H
integer :: Mult =0
End Type Refl_Type

Type :: RefList_Type
integer :: Nref
class(refl_Type), dimension(:), allocatable :: Reflections
end Type RefList_Type

Type(RefList_Type) :: List
Type(Refl_Type), dimension(3) :: Refl_Ini

!> Variables
integer :: i

!> Init
Refl_Ini(1)%H=[1, 0, 0]; Refl_Ini(1)%Mult=1
Refl_Ini(2)%H=[0, 2, 0]; Refl_Ini(2)%Mult=2
Refl_Ini(3)%H=[0, 0, 3]; Refl_Ini(3)%Mult=3

List%Nref=3
List%Reflections=Refl_Ini

!> Print Step:1
do i=1, List%Nref
print '(i3,2x,3i4,2x,i3)', i,List%Reflections(i)%H, List%Reflections(i)%Mult
end do
print*,' '
print*,' '

!> Swap
call Swap_Elements_List(List, 1, 3)

!> Print Step:2
do i=1, List%Nref
print '(i3,2x,3i4,2x,i3)', i,List%Reflections(i)%H, List%Reflections(i)%Mult
end do

Contains

Subroutine Swap_Elements_List(List, i, j)
!---- Argument ----!
type (RefList_Type), intent(in out) :: List
integer, intent(in) :: i,j

!---- Local Variables ----!
class(Refl_Type), allocatable :: tmp

!> IFort
!tmp=List%reflections(i)
!List%reflections(i)=List%reflections(j)
!List%reflections(j)=tmp

!> Gfortran
associate(t1 => list%reflections(i), t2 => list%reflections(j), tt => tmp)
tt=t1
t1=t2
t2=tt
end associate
End Subroutine Swap_Elements_List

End Program Check

Excel Pivot Table Selection via Excel.F90 Sample

$
0
0

I've been using the excel.f90 sample for quite some time with little difficulty accessing worksheets and data, but I'm unsure quite how to go about getting a pivot table field enabled.  There is only one pivot table in the worksheet/workbook.  I'm not seeing an obvious API to address the pivot table in question.  I would expect, since there can be multiple pivot tables, that there should be a way to address a specific one and to enumerate the list of pivot tables available.  But if there's only one, I would think it should be fairly easy to show the field list (my attempt fails) and to enable the specific field.  The pivot table already exists as needed.  The only change that needs to be made is to enable one field that isn't enabled by default.  Should be simple, yes?

IFAuto.F90 references Non-existent Item

$
0
0

It doesn't appear that the source for ifcomty is present in the directory.  There are other references that imply some things were moved to ifwinty related to automation.

MODULE IFAUTO
!dec$objcomment lib: "ifauto.lib"
      USE IFCOMTY
      USE OLEAUT32      

ifcomty module is present however.  Has my source file been accidently deleted by chance or is this actually missing in the original install?

 


Function constructors, pointers, and finalizers

$
0
0

Consider the following code:

!********************************
module test_module

  implicit none

  type :: json_value
    integer :: i = 0
  end type json_value

  type :: json_file
    type(json_value),pointer :: p => null()
    contains
    procedure :: initialize
    final :: finalize_json_file
  end type json_file

  interface json_file
    module procedure :: json_file_constructor
  end interface json_file

contains

  subroutine initialize(me,p)  ! subroutine constructor
  class(json_file),intent(inout) :: me
  type(json_value),pointer :: p
  me%p => p
  end subroutine initialize

  function json_file_constructor(p) result(me)  ! function constructor
  type(json_value),pointer :: p
  type(json_file) :: me
  me%p => p
  end function json_file_constructor

  subroutine finalize_json_file(me) ! destructor
  type(json_file),intent(inout) :: me
  if (associated(me%p)) then
    write(*,'(A40,I20,I20)') 'finalize_json_file: destroy p', loc(me), loc(me%p)
    deallocate(me%p)
    nullify(me%p)
  else
    write(*,'(A40,I20,I20)') 'finalize_json_file: nothing to destroy', loc(me)
  end if
  end subroutine finalize_json_file

  subroutine test_1() ! test subroutine constructor
  type(json_value),pointer :: p
  type(json_file) :: f
  write(*,*) '... test 1 ...'
  allocate(p)
  p%i = 99
  write(*,*) p%i
  call f%initialize(p)
  write(*,*) f%p%i
  end subroutine test_1

  subroutine test_2() ! test function constructor
  type(json_value),pointer :: p
  type(json_file) :: f
  write(*,*) '... test 2 ...'
  allocate(p)
  p%i = 99
  write(*,*) p%i
  f = json_file(p)
  write(*,*) f%p%i
  end subroutine test_2

end module test_module
!********************************

!********************************
program main
  use test_module
  implicit none
  call test_1()
  call test_2()
end program main
!********************************

The result is:

 ... test 1 ...
          99
          99
           finalize_json_file: destroy p     140732774252832     140342607228384
 ... test 2 ...
          99
  finalize_json_file: nothing to destroy     140732774252856
           finalize_json_file: destroy p     140732774252872     140342607228384
          99
           finalize_json_file: destroy p     140732774252856     140342607228384
finalizer(49100,0x111a8d5c0) malloc: *** error for object 0x7fa40f402dd0: pointer being freed was not allocated
finalizer(49100,0x111a8d5c0) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

I'm trying to use a function constructor (test_2) to cast a pointer into a derived type. Note that this type includes a finalizer that destroys the pointer it contains. The subroutine constructor (test_1) works as I expect. However, the function constructor seems to be calling the finalizer during the assignment and destroying the pointer which leaves a dangling pointer that causes an error when the finalizer is called. 

Note that gfortran doesn't do this, and both tests behave the same and work fine. 

Bug, or correct behavior for finalizers? If it's expected, can pointers not be used as arguments for function constructors to types that have finalizers?

Run-time modification of the dynamic type of a polymorphic object

$
0
0

Is it possible to change (further specialize), on-the-fly, the type of a variable to one of its extended (children) types, without resorting to a copy ?

MODULE M
IMPLICIT NONE

TYPE :: T_BOOK
    CHARACTER(LEN=:),ALLOCATABLE :: TITLE
END TYPE T_BOOK

TYPE,EXTENDS(T_BOOK) :: T_ENCYCLOPEDIA
    INTEGER :: N_VOLUMES
END TYPE T_ENCYCLOPEDIA

CLASS(T_BOOK),ALLOCATABLE :: MY_BOOK

END MODULE M

Using the example above... would it be possible to have a code that allocates first MY_BOOK to type T_BOOK; and then later on specializes MY_BOOK as actually being of type T_ENCYCLOPEDIA (while keeping its T_BOOK component values)?

This can be achieved with a temporary variable and tediously copying the values of the components of the parent type into the components of the child type... Not sure if there is another way.

Unit testing in fortran

$
0
0

Dear does INTEL provide a unit testing framework for fortran code.

Unable to install Intel Parallel Studio XE 2015

$
0
0

Hi, 

I installed XE 2019 before but it was not compatible with my ANSYS 18.1. Then, I tried to install XE 2015 but it always fails. It says,

"Intel(R) Parallel Studio XE 2015 Update 2 Cluster Edition for Windows* Setup Wizard ended prematurely because of an error(s).
Failed to create directory: C:}
The system cannot find the path specified.

Installer logs location: C:\Users\wed37\AppData\Local\Temp\pset_tmp_PSXE2015_WED37\2019.07.03_15.15.24_000007e0\log\"

Any suggestion to deal with this problem? Thanks!

 

 

AttachmentSize
Downloadimage/jpegImage 2.jpg162.37 KB

IMSL Libraries

$
0
0

Hi all

I bought a license for Visual Fortran Composer for Windows with IMSL in 2014 (Visual Composer 2010 I think) and downloaded the IMSL libraries for one computer. I am now trying to do it for my laptop and I am not able to access those libraries (the link sent to me doesn't work). ITs been 5 years, so I'm not surprised, but does anyone know how I could access them? I have the product serial number from my purchase... 

Any help will be greatly appreciated. Thanks

Viewing all 5691 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>