This document provides information on using Fortran compilers at the Mississippi Center for Supercomputing Research (MCSR). It describes how to log into the MCSR systems, write a simple Fortran program, use the PICO text editor, compile and run programs using different compilers on systems like Sweetgum, Mimosa, Redwood and Willow. The compilers include MIPSPro, Portland Group, MPICH, Intel and Sun Forte compilers. Accounts are available for students and faculty from Mississippi public universities.
Credits-
Dr. C.-K. Shene
Professor
Department of Computer Science
Michigan Technological University
This presentation was downloaded from this link- http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/F90-Basics.pdf
Credits-
Dr. C.-K. Shene
Professor
Department of Computer Science
Michigan Technological University
This presentation was downloaded from this link- http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/F90-Basics.pdf
Introduction to C Language - Version 1.0 by Mark John LadoMark John Lado, MIT
The C programming language is a general-purpose, high – level language (generally denoted as structured language). C programming language was at first developed by Dennis M. Ritchie at At&T Bell Labs.
C is one of the most commonly used programming languages. It is simple and efficient therefore it becomes best among all. It is used in all extents of application, mainly in the software development.
Many software's & applications as well as the compilers for the other programming languages are written in C also Operating Systems like Unix, DOS and windows are written in C.
C has many powers, it is simple, stretchy and portable, and it can control system hardware easily. It is also one of the few languages to have an international standard, ANSI C.
C is a general-purpose high level language that was originally developed by Dennis Ritchie for the Unix operating system. It was first implemented on the Digital Equipment Corporation PDP-11 computer in 1972.
The future of DSLs - functions and formal methodsMarkus Voelter
I have used domain-specific languages to empower non-programmers in healthcare, finance, aerospace, automotive and public administration for years. My approach relies on growing the DSL from a functional programming core, combining the flexibility and power of an algorithmic language with domain-specific constructs that range from temporal data types, state machines and data models to polymorphic dispatch between versions of calculation rules. I rely on the open source MPS workbench to define the languages and their IDE. I am looking to incremental model transformations to desugar domain-specific constructs back to a minimal core language in realtime. That core language will have an interpreter for in-IDE execution and a compiler for deployment. The language will be integrated with formal methods to verify properties of programs, enabling advanced analyses for DSL users. In this talk, I will demo some existing DSLs, provide an illustration of how they are built, and demo prototypes of the future approach while discussing their integration with formal methods.
The root of all modern language is ALGOL (Algorithmic Language), introduced in the early 1969s. ALGOL was the first computer language to use a block structure. In 1967, Martin Richards developed a language called BCPL (Basic Combined Programming Language) primarily for writing system software. In 1970, Ken Thompson created a language using main features of BCPL and called it simply B. B was used to create early version of UNIX operating system at Bell Laboratories. C was evolved from ALGOL, BCPL and B by Dennis Ritchie at AT & T’s Bell Laboratories in 1972 for use on the UNIX operating system. It has since spread to many other operating systems, and is now one of the most widely used programming languages.
Introduction to C Language - Version 1.0 by Mark John LadoMark John Lado, MIT
The C programming language is a general-purpose, high – level language (generally denoted as structured language). C programming language was at first developed by Dennis M. Ritchie at At&T Bell Labs.
C is one of the most commonly used programming languages. It is simple and efficient therefore it becomes best among all. It is used in all extents of application, mainly in the software development.
Many software's & applications as well as the compilers for the other programming languages are written in C also Operating Systems like Unix, DOS and windows are written in C.
C has many powers, it is simple, stretchy and portable, and it can control system hardware easily. It is also one of the few languages to have an international standard, ANSI C.
C is a general-purpose high level language that was originally developed by Dennis Ritchie for the Unix operating system. It was first implemented on the Digital Equipment Corporation PDP-11 computer in 1972.
The future of DSLs - functions and formal methodsMarkus Voelter
I have used domain-specific languages to empower non-programmers in healthcare, finance, aerospace, automotive and public administration for years. My approach relies on growing the DSL from a functional programming core, combining the flexibility and power of an algorithmic language with domain-specific constructs that range from temporal data types, state machines and data models to polymorphic dispatch between versions of calculation rules. I rely on the open source MPS workbench to define the languages and their IDE. I am looking to incremental model transformations to desugar domain-specific constructs back to a minimal core language in realtime. That core language will have an interpreter for in-IDE execution and a compiler for deployment. The language will be integrated with formal methods to verify properties of programs, enabling advanced analyses for DSL users. In this talk, I will demo some existing DSLs, provide an illustration of how they are built, and demo prototypes of the future approach while discussing their integration with formal methods.
The root of all modern language is ALGOL (Algorithmic Language), introduced in the early 1969s. ALGOL was the first computer language to use a block structure. In 1967, Martin Richards developed a language called BCPL (Basic Combined Programming Language) primarily for writing system software. In 1970, Ken Thompson created a language using main features of BCPL and called it simply B. B was used to create early version of UNIX operating system at Bell Laboratories. C was evolved from ALGOL, BCPL and B by Dennis Ritchie at AT & T’s Bell Laboratories in 1972 for use on the UNIX operating system. It has since spread to many other operating systems, and is now one of the most widely used programming languages.
Command line for the beginner - Using the command line in developing for the...Jim Birch
This session will introduce the incredible potential of using the command line in developing for the web.
Interested WordPress designers and developers will gain the knowledge of using SSH to connect to servers, Git for version control, WP-CLI for interfacing with WordPress, Aliases and Bash scripts for common tasks, and automation/task runners like Grunt and Gulp.
Attendees will come away from the session with their interest piqued, with the desire to learn more about using the command line in their workflow.
LIGGGHTS is an Open Source Discrete Element Method Particle Simulation Software developed by Sandia National Labs. LIGGGHTS stands for LAMMPS Improved for General Granular and Granular Heat Transfer Simulations. The higher programming language C++ is used to write the code of LIGGGHTS, which can be run either in a single- or multi processor. In this document we will discuss about the LIGGGHTS installation for the Linux operating system Ubuntu 12.04 LTS, 13.04, 14.04 LTS and 16.04 LTS. In order to install LIGGGHTS we need few libraries, like libvtk5-dev, libeigen2-dev,
libopenmpi-dev, a C++ compiler, Open MPI, LPP and Paraview. In this article we will discuss the installation procedure of each one in details.
Recommended Software and Modifications for Server SecurityHTS Hosting
Certain scripts and software are recommended for ensuring the security of a server. These include some modifications and third-party software that can be installed for gaining enhanced server security.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
2. Outline
Surfing www.mcsr.olemiss.edu website
Logging into the system via ssh
Basic Structure and Syntax of Fortran
A quick glance on PICO editor
More detailed look on compilers and
compiling commands
Application of Fortran Compiling
3. Logging into the system using ssh
Logging into the system from Windows:
Start the secure shell client:
Start->Programs->SSH Secure Shell->Secure Shell Client
Connect to willow:
From the secure shell window, click Quick Connect.
Then, from the Connect to Remote Host pop-up window, enter:
Hostname : HostName
User Name : UserName
Click Connect.
Logging into the system from Unix:
Start the Terminal:
Finder Utilities Terminal
Type the following command:
ssh UserName@HostName
Enter your password
If you are a windows user and you want to download ssh;
Go to IT Helpdesk @
http://www.olemiss.edu/helpdesk/resources.html#software and click on
the SSH Secure Shell 3.1 link.
If you are a Unix user, ssh will come with the operating system
4. Simple Fortran Program
c This program adds two numbers and displays the result
program add
double precision a,b,c
write(*,*) 'Input two numbers (include a decimal point)'
read (*,*) a,b
c=a+b
write (*,*) 'The sum of the numbers you entered is', c
stop
end
5. The PICO Editor
General Command
Write editor contents to a file [Ctrl] o
Save the file and exit pico [Ctrl] x
Spell Check [Ctrl] t
Justify the text [Ctrl] j
Moving around in your file
Move one character to the right [Ctrl] f or right arrow key
Move one character to the left [Ctrl] b or left arrow key
Move up one line [Ctrl] p or up arrow key
Move down one line [Ctrl] n or down arrow key
6. More detailed look into Compilers and
Compiling commands
Fortran Compilers at UM/MCSR:
MIPSPro Fortran Compilers, version 7.4, on sweetgum
Portland Group and MPICH Fortran compilers on
mimosa
Intel Fortran Compilers(7.1, 8.0 and 9.0) on redwood
GUI g77 on willow
Sun’s Forte f90 on willow
7. Sweetgum
MIPSPro Fortran Compilers, version 7.4
To compile with f77 on sweetgum, enter:
f77 filename.for
To compile with f90 on sweetgum, enter:
f90 filename.for
8. Mimosa
Portland Group and MPICH Fortran compilers
To compile with the MPICH Fortran compilers, enter:
/usr/local/apps/pgi-5.2/linux86/5.2/bin/pgf77 filename.for
To compile with the PGI SDK compilers, enter:
/usr/local/apps/pgi-6.1/linux86/6.1/bin/pgf90 filename.for
9. Redwood
Intel Fortran Compilers(7.1, 8.0 and 9.0)
Before using the Fortran Compiler on redwood, you
must first load the appropriate Intel compiler module.
Then, to compile:
ifc filename.for if using the 7.1 compiler
ifort filename.for if using the 8.0 or 9.0 compilers
10. Loading the appropriate Intel Compiler
Module
Several versions/builds of Intel compilers are available on redwood. To
compile, you must first pick which compiler version module you want to
load, then load it. Before you can use the module command, you must
source the correct setup file for your shell.
. /usr/share/modules/init/sh (if using ssh) (There should be a space between .
and /opt)
Then you use the module command:
module list (to see if any other versions of compiler modules are loaded)
module purge (to unload any other versions of compiler modules)
module list (to verify that other versions were successfully unloaded)
module avail (to see what versions of compiler modules are available to load)
For example, to load the latest 9.1 version of the F Compilers:
module load f91
module list
These are the names of the modules and the compiler versions they
correspond to:
intel-compilers.7.1.037 for fortran 7.1
intel-compilers.8.0.042 for fortran 8.0
intel-compilers.8.0.046 for fortran 8.0
intel-compilers.9.0.027 for fortran 9.0
intel-compilers.9.1.046 for fortran 9.1
11. Willow
Sun’s Forte f90
To compile with f90, enter:
f90 filename.for
If there are no compilation errors this creates an executable file
called a.out. To execute the Fortran program, enter: ./a.out.
GUI g77
To compile with g77, enter:
g77 filename.for
If there are no compilation errors this creates an executable file
called a.out. To execute the Fortran program, enter: ./a.out.
12. More about Compiling Commands
If there are no compilation errors, the
previously mentioned Fortran Commands
create an executable file called a.out. To
execute the Fortran program, enter:
./a.out.
To create an executable file with another
filename, use the –o flag, for example:
f90 –o exefilename filename.for
For more information about Fortran
compilers, Go to:
www.mcsr.olemiss.edu
SoftwareFortran
13. How to run a compiled files
Thecompiling commands create
an executable file known as
a.out unless specified otherwise.
Toexecute your program,
type: ./a.out and press Enter.
14. MCSR Fortran Compilers
MCSR's Fortran compilers and platforms
are available for instructional or research
use for all students, faculty, and staff of
Mississippi's eight public universities.
Users should decide which compiler is best
suited for their application. Compilers on
SUN are for fast jobs with a quick turn
around, while compilers on sweetgum and
magnolia are designed for larger, more
computationally intensive jobs.
15. MCSR Accounts
MCSR is pleased to provide free computer
accounts on redwood, sweetgum, and mimosa for
any student, faculty, or research staff member at
any of Mississippi's 8 publicly funded universities.
If you can't access an existing account, please e-
mail assist@mcsr.olemiss.edu or call one of the
consultants at 662-915-7206. You may request a
password reset from the MCSR Online Account
Manager.