Absoft
| Company type | Private |
|---|---|
| Industry | Software |
| Founded | 1980 |
| Founder | Peter Jacobson, Wood Lotz |
| Defunct | 2022-09-30 |
| Headquarters | Troy, Michigan , United States |
| Products | Fortran compilers (Absoft Pro Fortran) |
Absoft Corporation was a United States-based software firm operating from 1980 until 2022, focusing on Fortran compilers compatible with Microsoft Windows, Apple Macintosh, and Linux platforms. Their compiler offerings ensured source code portability across different operating systems.
- On 64-bit systems, Absoft Pro Fortran supports generating both 32-bit and 64-bit executables, allowing users to choose the desired output format.
- For Linux, compilers are available in either 32-bit or 64-bit variants; the 32-bit version exclusively produces 32-bit executable files.
Every product came equipped with a graphical debugger and an integrated development environment (IDE). They facilitated both single-threaded and parallel multithreaded programming, featuring five levels of optimization, support for OpenMP, Speed Math settings from 0 to 9, among other sophisticated capabilities.
Absoft ended its business operations on September 30, 2022.
Beginnings: Absoft FORTRAN 77 for MC68000 Architectures
Peter Jacobson and Wood Lotz, who met at the University of Michigan, initially operated an audio retail business named Absolute Sound starting in 1975. Identifying a growing demand in 1979 for robust Fortran compilers on 16-bit microcomputers, they developed a compiler tailored for the Western Digital WD16 processor and launched it commercially in 1980. The company’s name transitioned from Absolute Software to Absoft to enhance brand identity.
Absoft FORTRAN 77 on Macintosh
Absoft’s first significant commercial achievement was securing a $500,000 contract with Alpha Microsystems granting worldwide distribution rights for a Fortran 77 compiler compatible with their AMOS operating system running on the Motorola 68000 series CPU. At that point, the company consisted solely of its two founders; this contract allowed them to maintain independence, hire additional personnel, and move to larger premises. Subsequent OEM agreements followed for Fortran compilers targeting various Unix-based systems. Meanwhile, the founders continued operating Absolute Sound, which expanded to three locations before being sold to a larger Hi-Fi chain in 1988.
MIL-STD-1753 Extension for FORTRAN 77
Issued by the Department of Defense in 1978, MIL-STD-1753 defined standardized extensions to Fortran 77 under Industrial Real-Time Fortran. This included introducing IMPLICIT NONE, DO WHILE, and END DO statements as replacements for CONTINUE in loop control, along with intrinsic bit manipulation functions. These extensions were incorporated into ISO/IEC 1539:1991 and subsequent revisions before becoming obsolete by 1995.
Absoft FORTRAN 77 on Apple Macintosh and Windows
Following Alpha Micro’s release of MC68000-based microcomputers, Absoft broadened its focus to include Motorola processors and the Macintosh. The emergence of MD68000-based machines supporting 32-bit Unix on smaller hardware led Absoft to provide Fortran compilers for Unix systems from manufacturers such as Data General, HP, Sun Microsystems, and Tektronix.
In 1985, Microsoft licensed MacFortran—a native ANSI FORTRAN 77 compiler featuring a graphical debugger—and contracted Absoft to create Microsoft Fortran for Macintosh alongside a Microsoft BASIC compiler fully compatible with the existing Mac BASIC interpreter. Apple was an early adopter of Mac Fortran, with notable clients including Drexel University. Versions of these compilers were also marketed as A/C Fortran and A/C Basic for the Amiga. Subsequently, Absoft introduced Fortran compilers targeting Linux/Unix and Microsoft Windows environments.
The Mac and Amiga Fortran compilers incorporated an integrated development environment (IDE) plus a profiler; this IDE was later adapted into Windows compilers and has remained a standard feature across all following Absoft Fortran releases.
Fortran 90 and Internet Integration
During the 1990s, Absoft broadened its product offerings and harnessed internet technology to build a worldwide reseller network. While maintaining a dedicated representative in California through the mid-1990s, growing internet reliance eventually led to consolidating all operations into a single site.
Company Achievements
Significant achievements since 2006 can be found on Absoft's Press Releases section.
- 1980: Absoft established in Birmingham, Michigan.
- 1981: Launched initial UNIX compilers featuring a graphical debugger.
- 1981: Secured a prominent contract with Alpha Microsystems.
- 1983: Introduced the first graphical debugger for Motorola VersaDOS.
- 1984: Supported Sky Computers’ SKYFFP-V floating point accelerator on VME and S-100 platforms.
- 1985: Released Absoft Mac Fortran compiler, including graphical debugger and integrated development environment (IDE).
- 1986: Rolled out Absoft Mac BASIC compiler alongside Amiga Fortran.
- 1988: Opened a new development center in Rochester Hills, Michigan.
- 1994: Debuted Absoft Fortran for Mac PPC and Fortran for Microsoft Windows.
- 1997: Delivered Linux Fortran to facilitate CERN's ESPACE code migration to Linux.
- 2000: Incorporated Fortran 90 across all product releases.
- 2003: Produced the first compiler capable of generating 64-bit Linux executables.
- 2004: Launched IBM XL Fortran and XL C/C++ for Mac OS (PPC); secured IBM contract to develop HPC SDK for POWER systems.
- 2005: Enabled creation of 64-bit executables on Macintosh; added Fortran 95 support; discontinued bundled C/C++ compiler to maintain compatibility with native system compilers and linkers.
- 2006: Released Mac OS X Intel Pro Fortran; introduced IMSL 5.0 for 64-bit Intel/AMD Linux; launched AnCAD MATFOR libraries for Linux and Windows environments.
- 2007: Supported creation of 64-bit executables on Windows and Mac OS X; IMSL library became available for Mac OS X; released Pro Fortran 10.1 optimized for multi-core AMD and Xeon processors.
- 2008: Developed a "Roll" package for Clustercorp’s Rocks Cluster Distribution including Pro Fortran 10.1; IMSL library qualified for Microsoft’s HPC platform integration.
- 2009: Issued IMSL version 6.0 as part of Pro Fortran 11 release.
- 2010: Launched Pro Fortran 11.1 compatible with Snow Leopard and Xcode 3.2; incorporated NVIDIA CUDA support via CAPS HMPP 2.4 preprocessor technology.
- 2011: Collaborated with Bradly Associates to bundle Pro Fortran with the GINO GUI builder; released IMSL version 7.0 included in all Pro Fortran editions.
- 2012: Sold Rochester Hills facility and relocated headquarters to an office building in Troy, Michigan.
Absoft Pro Fortran Compiler Editions
As of June 2018, Absoft Pro Fortran is available in five distinct editions:
- Microsoft Windows platform
- Mac Intel x86_64 (OS X) version
- Mac PPC (OS X PPC G5) edition
- Linux 32-bit Intel x86 variant
- Linux 64-bit Intel x86_64 release
The Windows, Mac, and Linux x86_64 versions offer the option to produce either 32-bit or 64-bit executables depending on user preferences, whereas the Linux 32-bit edition exclusively generates 32-bit executables.
IMSL libraries are offered as an optional paid upgrade. The GINO GUI Lite package is provided at no charge, while full versions of GINO GUI, graphics modules, and Winteracter GUI Toolset are available as additional paid options.
Parallelization and Performance Enhancements
Absoft Pro Fortran offers five tiers of traditional optimization along with Speed Math settings ranging from 0 to 9. Its parallel processing capabilities include automatic parallelization with visual indicators in the code, support for OpenMP 3.0, and Speed OpenMP levels from 0 through 5.
The compiler is compatible with MPI implementations such as MPICH2 and Open MPI, and it provides ScaLAPACK and BLACS libraries across all supported platforms. IMSL version 7.0 incorporates MPICH2 integration but necessitates a distinct license since its release in 2011.
Applications utilizing parallelism must include pthreadVC2.dll for 32-bit or pthreadVC2_64.dll for 64-bit environments on systems where Absoft Fortran is not installed. These dynamic link libraries are distributed under the terms of the LGPL version 2.1.
Extensions for Fortran 2003 and Fortran 2008
By April 2014, with the release of version 14.0.3, Absoft Pro Fortran had incorporated numerous features from Fortran 2003 along with select extensions from Fortran 2008.
Fortran 2003
Significant Fortran 2003 features supported include:
- The modules
ISO_C_BINDINGandISO_FORTRAN_ENV - Support for complex arguments in intrinsic functions like
ACOS,ASIN,ATAN,COSH,SINH, andTANH - The
MOVE_ALLOCstatement - Command-line inquiry routines:
GET_COMMAND,GET_COMMAND_ARGUMENT, andCOMMAND_ARGUMENT_COUNT - Environment variable access via
GET_ENVIRONMENT_VARIABLE - The
FLUSHstatement - End-of-file and status checks using
IS_IOSTAT_ENDandIS_IOSTAT_EOR - Enumerations through
ENUMERATORandENUM - The
NEW_LINEintrinsic - Abstract interfaces alongside procedure pointers
- Advanced type initialization and remapping of pointer bounds
- Recognition of asynchronous I/O specifiers (
ASYNCHRONOUS) - I/O error reporting using the syntax
IOMSG='string_variable' - Handling of IEEE exceptions
- Introduction of the
VALUEstatement and attribute declaration
Fortran 2008
As of April 2014, several Fortran 2008 features have been implemented, with plans for additional support in upcoming releases. Presently included are:
- Intrinsic functions:
ACOSH,ASINH, andATANH - The
HYPOTintrinsic - Bit-counting intrinsics:
LEADZ,TRAILZ,POPCNT, andPOPPAR - Support for empty sections within the
CONTAINSblock - Bessel function intrinsics such as
BESSEL_J0,BESSEL_J1,BESSEL_JN,BESSEL_Y0,BESSEL_Y1, andBESSEL_YN - Comparison intrinsics including
BGE,BGT,BLE, andBLT - Bit-shift operations provided by intrinsics like
DSHIFTL</text>,<text_code/>DSHIFTR<text_code/>,<text_code/>SHIFTA<text_code/>,<text_code/>SHIFTL<text_code/>,<text_code/>SHIFTR<text_code/> - Bit mask and merging intrinsics: <text_code/>MASKL<text_code/>,<text_code/>MASKR<text_code/>,<text_code/>MERGE_BITS<text_code/>
- Mathematical intrinsics including: EFC_SCALED, GAMMA, LOG_GAMMA
- Command execution via the intrinsic: EXECUTE_COMMAND_LINE
- I/O status checking intrinsics: IS_IOSTAT_END, IS_IOSTAT_EOF
- Character kind selection through SELECTED_CHAR_KIND
- Partial implementation of allocatable components within derived types
- Pointer INTENT attribute support
Bundled and Optional Components
The IDE and compiler include a variety of packages, most of which come at no extra cost except for IMSL, GINO, and Winteracter, which require separate purchases. Users can enable or disable these installed packages during builds through checkboxes found in the Project Options dialog.
Absoft FX3 Graphical Debugger
Included with every Absoft Pro Fortran edition, the FX3 graphical debugger facilitates debugging across multiple environments. It supports the GNU Compiler Collection (gcc) on both Mac and Linux platforms, Apple C, Microsoft Visual Studio C/C++ on Windows, as well as assembly language debugging on all supported systems.
GUI Development with GINO and Winteracter
GINO and Winteracter are optional third-party APIs designed to create sophisticated 2D/3D graphics and graphical user interfaces in Fortran. The free GINO Lite version (32-bit with limited functionality) is bundled with Absoft Pro Fortran for Windows and meets the needs of most users. Full-featured editions of GINO or Winteracter provide 64-bit compatibility, unrestricted features, and cross-platform integration within the Absoft Pro Fortran environment.
IMSL Numerical Libraries
Absoft stands as the exclusive commercial Fortran provider bundling IMSL Numerical Libraries with Fortran compilers for Windows, Mac, and Linux platforms, also being the sole IMSL distributor for MacOS. Access to IMSL libraries and documentation is granted via license unlocking codes that activate these components within the Absoft installer. The current version offered is IMSL 7.
UNIX and VAX/VMS Portability Libraries
To assist in migrating code from UNIX or VAX/VMS systems, Absoft supplies libraries containing UNIX- and VAX-specific Fortran intrinsic routines selectable through Project Options. Additional porting aids, such as Cray pointer support, are incorporated within Absoft Pro Fortran.
LAPACK and BLAS Libraries
Linkable versions of the Linear Algebra Package (LAPACK) together with Basic Linear Algebra Subprograms (BLAS), or BLAS individually, are available for inclusion.
HDF4 and HDF5 Libraries
Support for Hierarchical Data Format libraries includes HDF4 version 4.2.8 and HDF5 version 1.8.9, both accessible via options in Project Settings.
NetCDF Library
The Network Common Data Form (NetCDF) library version 4.3 can be optionally integrated into projects.
CUDA and CAPS Support
For systems equipped with NVIDIA graphics cards featuring Complete Unified Device Architecture (CUDA) GPUs, a specialized BLAS variant can be linked through configuration options. CAPS serves as a many-core compiler enabling computations on CUDA GPU arrays.
PLplot Library Integration
PLplot version 5.9 is available for inclusion through Project Options, providing bindings compatible with single and double precision from FORTRAN 77 or Fortran 95 codebases, including support for Microsoft WIN32 environments.
DLLs and System-Level Calls
Absoft Pro Fortran allows linking against static or dynamic libraries provided by the operating system, other compilers, or user-created libraries. It can also produce both static and dynamic libraries across all supported platforms.
Command-Line Usage and C/C++ Interoperability
All Absoft compilers offer comprehensive command-line control capabilities. Since version 10.0 (2005), they have adopted system linker formats that enable direct linking with C/C++ object files. The Absoft IDE seamlessly integrates with C/C++ compilers generating compatible object files while defaulting to Absoft’s own Fortran compilers by default.
Absoft-exclusive GUI features
Absoft-exclusive GUI functionalities allow applications compiled with Absoft Pro Fortran to manage mouse interactions and display pop-up windows similarly to conventional windowed programs. These capabilities are portable when using Absoft Pro Fortran but are not supported by other compilers or operating systems.
MRWE
The Microsoft/Macintosh Runtime Window Environment (MRWE) operates by using a Fortran 77 main program that interfaces with system GUI libraries to generate windowed applications. Within the IDE, MRWE is selected as the executable type for application development. By default, it directs input and output to a scrollable window resembling a command prompt, enabling users to save the output as a text file after program completion. MRWE also provides access points for Windows system calls, facilitating the creation of comprehensive Windows applications entirely in Fortran. The source code serves as a base for Win32 GUI programs. Although superseded by AWE in 2012, MRWE remains accessible for backward compatibility.
AWE
Absoft Window Environment (AWE) is activated by choosing the corresponding application type in the GUI, which incorporates AWE_Preferences.f95 into the project. This Fortran source file configures AWE settings such as stack size, window properties, and font during startup.
AWE upgrades interactive console windows by adding menu options to run program units and close the application, delivering a GUI-centric interactive experience. It supports menus, pop-ups, and display windows, removing the need for traditional console I/O and enabling fully Fortran-based GUI applications across supported platforms.
When distributing AWE-based executables without the Absoft compiler, it is necessary to include libgomp.dll for 32-bit or libgompx64.dll for 64-bit binaries. These dynamic libraries are distributed under the GNU General Public License version 3 with the GCC Library Exception.
Interactive pop-ups, graphical displays, and spreadsheet functionalities are accessed through use AWE_Interfaces. Applications utilizing these features must include QtCore4.dll and QtGui4.dll, with Qt licensed under LGPL version 2.1.
Interactive console window
Compiling an application as AWE redirects standard input and output to a scrollable window akin to a command prompt, preserving output with an option to save it as a text file upon program termination. Alternatively, an interactive AWE program can omit this console window entirely, reserving it solely as a log of execution.
Menus, pop-up messages, dialog boxes, and forms
These interface elements are implemented through procedures provided in the AWE_Interfaces module and require comparable coding effort to that of an interactive command-line interface.
Built-in graphics
Support for bar charts, pie charts, and X-Y plots is provided via AWE_Interfaces, featuring straightforward default settings alongside extensive options for customizing colors, line thicknesses, and background styles.
Three-dimensional plots
Starting with the 2015 release, three-dimensional visualizations—including perspective x-y-z plots and contour diagrams—are available through the AWE_Interfaces module.
Spreadsheets
AWE provides support for spreadsheet interfaces handling rank 2 arrays, featuring subroutines to open, close, read from, write to, and label individual sheets. It also allows the incorporation of menu commands to facilitate spreadsheet data management.
User base
Absoft’s commercial clientele includes over 180 licenses held by corporations and government entities. Notable users encompass prominent organizations such as Apple Inc., CERN, Lawrence Livermore National Laboratory, NASA Lewis Research Center, Naval Research Laboratory, Raytheon, Seagate Technology, Toshiba Corporation, Boeing Defense and Space, Canon Inc., Nikon Corporation, General Motors, Ford Motor Company, Toyota Motor Company, Hewlett Packard, Lockheed Martin, Los Alamos National Laboratories, Mitsubishi Heavy Industries, Texas Instruments, U.S. Air Force, Wolfram Research, Advanced Micro Devices, AT&T Bell Laboratories, IBM T.J. Watson Research Center, Intel Corporation, Jet Propulsion Laboratory, among many others.
External links