appveyor / ci

AppVeyor community support repository
https://www.appveyor.com
344 stars 65 forks source link

Intel Parallel Studio #1276

Closed ghost closed 7 years ago

ghost commented 7 years ago

Greetings,

Mandelbulber project requests Intel Parallel Studio for k1om Build-Packages. We request "private build cloud" feature for azure. We need guidance from the administrators of Appveyor. We need our implementation to remain free.

Please assist Engineering our specific use case scenario. REFERENCE: https://github.com/buddhi1980/mandelbulber2/issues/155

Looking forward to a happy dialogue!

ghost commented 7 years ago

Intel® Xeon Phi™ Coprocessor - Request 02348003 image

IlyaFinkelshteyn commented 7 years ago

Hi Robert, please let us know your AppVeyor account name for us to enable private build could feature for you. And yes, this require your own Azure subscription.

Thank you, Ilya.

FeodorFitsner commented 7 years ago

Also, I'd like to clarify one more time that all incurring charges for running build VMs on your cloud will be added to your Azure subscription bill.

ghost commented 7 years ago

https://software.intel.com/en-us/articles/intel-compilers-for-windows-silent-installation-guides We might be able to do a simple install using minimal components. http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9955/parallel_studio_xe_2017_update1_cluster_edition_online_setup.exe

IlyaFinkelshteyn commented 7 years ago

OK, please let us know how it goes and if this minimal components install leave you enough time to build.

IlyaFinkelshteyn commented 7 years ago

I am also adding initial discussion to keep history of the problem in one place.

ghost commented 7 years ago

REFERENCE:

parallel_studio_xe_2017_update1_composer_edition_for_cpp_setup.exe --help Intel(R) Parallel Studio XE 2017 Update 1 Composer Edition for C++ Windows* package.

Usage: [options] [--a ]

If no command is specified, the Web Image program will proceed in the Interactive GUI mode.

Options:

--h | --help Show this help

--s | --silent Silent Mode: No GUI, use default setting from command line

--f | --extract-folder Set extraction folder where content of package will be saved

--x | --extract-only Skip launching installation after extracting web image content. This option just unpacks the web image

--l | --log Log all actions into this log file

--r | --remove-extracted-files <yes|no> Remove temporarily extracted files after installation

--a Pass command line arguments: all arguments after “–a “ switch will be passed as command line arguments into setup.exe (option for launch executable). Includes any argument which setup.exe supports ######## ######## ######## extracted setup.exe --help Commands

install - install the product remove - remove the product repair - repair existing installation modify - modify existing installation

Mandatory arguments for non-interactive mode

--output= command: all Specify a file to which the output will be redirected. This option cannot be omitted. --eula={accept|reject} command: install Specify if you accept or reject the End User License Agreement (EULA). You should explicitly accept the EULA to proceed with the installation.

Optional arguments for non-interactive mode

--installdir= command: install Specify the installation directory. --license= command: install Activates product using license file(s). can point to either a file or folder. If folder is specified, Installer will look at all *.lic files in the folder. This option may be used multiple times to specify multiple locations. Do not use this option with the '--sn' option. --sn=<s/n> command: install Activates product using a serial number. An internet connection is required in this case. Do not use this option with the '--license' option. --eval command: install Evaluate product. Product will be installed in trial mode. Do not use this option with '--sn' and/or '--license' options. --update={no|always|coexist} command: install Define if the Installer should force removal of the currently installed version of the product prior to installing the version in this package. The options are: 'no' - do not remove the currently installed version, and if any version is found, end the installation; or 'always' - remove the currently installed version (if any) and proceed with the installation or 'coexist' - install so that currently installed version and new version coexist. The default value is 'no'. --log= command: all Specify a location for a LOG files. Log file are used for debug purposes. Support Engineer can ask you to send these files. --send-data={yes|no} command: install Indicates agreement to participate in Intel(R) Software Improvement Program, by default is 'no'. --components={all|default|component1, component2, ...} command: install, modify Specify a list of components for install or modify. The options are: 'all' - install all components (full install); 'default' - install only default components. --silent= command: install Run install silently, with settings in the configuration file .

--ignore-cpu command: install Skip CPU model check.

Comments on activation: You can activate the product by either specifying license file (--license) or by specifying serial number (--sn). If you don't specify any of these options, the Installer simply checks if the product is already activated.

Arguments for Setup Wizard mode

--duplicate= Save install configuration collected using Setup Wizard mode to a file for further install duplications in a silent mode. --download-only Run Installer to download only selected components. Installation and the product configuration process is skipped with this option. Downloaded install content could be used for further serial installations. --download-dir= Specify a folder to store downloaded content.

Support information

Support Web Site: http://www.intel.com/software/products/support/

IlyaFinkelshteyn commented 7 years ago

Do you need help with creating install script?

ghost commented 7 years ago

something along the lines of: parallel_studio_xe_2017_update1_composer_edition_for_cpp_setup.exe --silent -a install --eval --eula=accept --output=install-IPS.log

Does that seem correct?

IlyaFinkelshteyn commented 7 years ago

I usually create simple build job with RDP, go to VM and debug whole thing from download to install interactively, and only after that add this to the build config.

ghost commented 7 years ago

RDP makes this much easier.

IPS functions operate normally with evaluation activation. Now we need mpss: http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11193/mpss-3.8.1-windows.zip

Lastly, mpss Libraries: http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11193/mpss-3.8.1-k1om.tar

IlyaFinkelshteyn commented 7 years ago

I provided working script for MPSS in the original post, right?

ghost commented 7 years ago

excellent!


$zipPath = "$($env:USERPROFILE)\mpss-3.8.1-windows.zip"
(New-Object Net.WebClient).DownloadFile('http://registrationcenter-download.intel.com/akdlm/irc_nas/11193/mpss-3.8.1-windows.zip', $zipPath)
7z x $zipPath -y -ompss | Out-Null
& '.\mpss\mpss-3.8.1\Intel(R) Xeon Phi(TM) coprocessor essentials.exe' /S /v/qn
sleep 60 #sleep to ensure installation completed
ghost commented 7 years ago

Any hints for generation of RPM from a given folder for build-package using windows platform?

ex: MyApp/build-package --> MyApp-v1.35-mpss-3.8.1-k1om.rpm

IlyaFinkelshteyn commented 7 years ago

We don't have a lot of experience with it (mostly .NET shop)... I found this and it seems that we already have rpmbuild as part of MSYS2 (C:\msys64) installation. With this information and debugging in RDP I hope you can make it :)

ghost commented 7 years ago

Greetings,

I am seeing failure with k1om libs download. Not sure why? Any suggestions?

        $k1omPath = "$($env:USERPROFILE)\mpss-3.8.1-k1om.tar"
        (New-Object Net.WebClient).DownloadFile('http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11193/mpss-3.8.1-k1om.tar', $k1omPath)
        7z x $k1omPath -y -ok1om | Out-Null

We need the k1om libs for cross compilation using cmake:

.... -DCMAKE_SYSTEM_PROCESSOR=k1om -DCMAKE_FIND_ROOT_PATH=$MPSSDIR -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY ....

ghost commented 7 years ago

We need to extract rpms in folder: .\k1om\mpss-3.8.1\k1om image

On Linux [CentOS]: for rpm in *.rpm; do rpm2cpio $rpm | cpio -idm; done

        ## Windows Powershell
        ## use -DCMAKE_FIND_ROOT_PATH=./k1om
        echo download-MPSS-k1om-lib
        $k1omPath = "$($env:USERPROFILE)\mpss-3.8.1-k1om.tar"
        (New-Object Net.WebClient).DownloadFile('http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11193/mpss-3.8.1-k1om.tar', $k1omPath)
        echo extract-MPSS-k1om-tar
        7z x $k1omPath -y -ok1om | Out-Null
        echo extract-MPSS-k1om-rpm
        cmd /c 'FOR /R ".\k1om" %I IN (*.rpm) DO 7z x "%I" -ok1om -aou' | Out-Null
        echo extract-MPSS-k1om-cpio
        cmd /c 'FOR /R ".\k1om" %I IN (*.cpio) DO 7z x "%I" -ok1om -aou' | Out-Null
ghost commented 7 years ago

@IlyaFinkelshteyn Have you been able to override CMAKE CXX and CC variables for specification of compiler executable? CMAKE always wants to use icl.exe instead of icpc.exe and icc.exe. Any suggestions?

ghost commented 7 years ago

resolved using nmake generator for CMAKE with CXX and CC overrides pointing to ICPC and ICC respectively. everything good to go, thanks!

IlyaFinkelshteyn commented 7 years ago

@mancoast Oh thanks for update. I tried to produce some useful answer during a week but it is dark area for me :)

zbeekman commented 6 years ago

@rouson @porteri @kgeelhood: This is a reminder to see how intel parallel studio can be installed in appveyor Windows instance. (Note to self @zbeekman.)