WPS version 3.3 is our biggest ever software upgrade comprising over 600,000 new lines of code. In this post we pick out the main highlights. We’ll talk in more depth about some of these topics in future posts.
New platform support – Linux on ARM and Power Architecture
Version 3.3 runs on two new enterprise platforms: Linux on ARM8 64-bit hardware (AArch64) and Linux on Power Architecture hardware (PPC).
With its winning combination of fast processing and very low power consumption, the ARM processor is found in a wide range of industrial and consumer devices including tablets, phones, TV set-top boxes, IoT devices, domestic appliances, control systems, routers, gateways and so on. ARM hardware is starting to challenge Intel’s dominance of the PC and server market with the new ARM8 64-bit platform addressing a wide spectrum of usage: At one end it operates on the Raspberry PI 3 for students and enthusiasts, and at the other end enterprises are increasingly looking to ARM-based servers to provide massive compute capacity at reduced power consumption.
The Power Architecture series of hardware from IBM has been used in high-end server systems since the early 1990s and was used for a period in Apple Mac PowerPC-based computers from 2002 – 2006. IBM POWER server systems (pSeries or System p) typically run the AIX operating system and are used for mission-critical, high-availability workloads. WPS software has supported running on AIX on POWER hardware for many years now. More recently in 2013 the OpenPOWER Foundation was formed around the Power Architecture to open up the POWER processor specification, firmware and software to allow other companies to develop Power Architecture-compatible hardware targeted at big business, supercomputers, heavy-duty analytics, big data and machine learning. Whilst it is already possible to run Linux on IBM POWER hardware, the wider availability of this platform is likely to drive adoption of Linux on Power Architecture in enterprise and public cloud providers.
Jupyter for collaboration and training
Jupyter (jupyter.org) is a popular open source platform used for interactive learning and team collaboration in the field of data science scientific computing. WPS version 3.3 includes a Jupyter kernel that lets you run SAS language within your Jupyter Notebook environment. If you’re already familiar with Jupyter, please just have a go. If you are new to Jupyter, we will discuss this in depth in a future blog post.
Combining more programming languages
Whilst the SAS language remains the gold standard for industrial data analytics, other languages such as SQL, R, Python, SPSS, Spark, Scala, Matlab and Julia, are in more widespread use than others. WPS has long included strong support for using SQL within SAS programs, and WPS 3.1 introduced support for mixing-in the R language into your SAS programs. Now, in WPS version 3.3, you can add Python to the mix.
The new WPS Interop for Python module introduces the Python Procedure that lets you use Python syntax inside a SAS program with shared use of data using Pandas DataFrames.
New, too, is the WPS Matrix Programming module. This introduces support for the IML procedure for advanced matrix manipulation and algorithm development using IML language syntax. IML language syntax is ideal for developing advanced modelling and optimization algorithms. The IML procedure also offers an additional method for using R directly from the matrix programming environment.
More advanced statistical methods
We have been busy boosting the statistical capabilities of WPS software. Version 3.3 provides a huge set of additional statistics, including thirteen new statistical procedures, ACECLUS, CANCORR, GENMOD, LIFEREG, LIFETEST, LOESS, MI, MIXED, MODECLUS, PHREG, PROBIT and VARCOMP.
We have also added the ability to produce graphical plots from many of our existing statistical procedures. The ability to model nested-effect variables has also been added to several of the existing procedures.
Working with spreadsheets on all platforms
Microsoft Excel remains one of the most popular and widely used software products in business. WPS software has always supported handling Excel spreadsheets, but it has previously been limited to the Microsoft Windows platform. We have now introduced a new WPS Engine (XLSX) for working with Excel spreadsheet files on all platforms. Both the .xls and .xlsx Excel file types are supported, without the need for any Microsoft drivers or software.
Enhancing the code editing experience for higher productivity
We receive a lot of positive feedback on our WPS Workbench GUI and WPS version 3.3 builds on previous capabilities to further enhance the code editing experience. Our main goal is to help you be as productive as possible, by providing the best possible tool for the job so that you can concentrate on solving the interesting parts of the problem and rely on us to make it happen.
We have added content-assist to pop-up help and suggestions as you type to make writing your SAS program faster and easier.
The Syntax highlighting facility has been improved to highlight syntax inside macros. Macros in earlier versions of WPS software were not highlighted, and since macros are widely used, this greatly improves the coding experience.
We have also added a new facility that automatically checks for basic syntax errors as you type. Any words in the program that are incorrect, not known or not supported are automatically underlined and flagged in the left margin of the program editor window.
We are always looking to improve the execution speed of WPS software and WPS version 3.3 provides a number of performance improvements. Our SAS language compiler has undergone a lot of work to improve areas of Data step performance. We have also added new multi-threading options for Netezza and Oracle data access, adding to the similar work we did for DB2 in WPS version 3.2. Multi-threaded database access can make an enormous difference in reducing execution times.
Producing PDF output
One of the most commonly requested features for WPS software has been the ability to generate output in PDF format. WPS version 3.3 sees the introduction of support for ODS PDF syntax. We will broaden this support in future releases of WPS.
More graphical output
Graphs and charts are often the most visible output from the data science department, and producing good-looking output is vital. WPS software has been able to produce good basic graphical output for some time including line graphs, bar charts and pie charts. We have worked hard to expand the variety of graphics that can be produced.
We have added the GBARLINE procedure so that you can generate bar charts onto which plot data can be overlaid.
The global statement ANNOTATE is now supported in graphing procedures GPLOT, GCHART and GBARLINE. This enables specified graphics to be added to graphical output.
During 2017 we are going to be working on a long list of new products and features to help you tackle more real-world problems. If you have any particular areas of interest or features that you would like to see added, or if your organization would like to become involved with World Programming as a technology partner, please get in contact with us.
We hope you enjoy using WPS version 3.3 as much as we enjoyed writing it* and we look forward to hearing about your experiences using it.
* Although our blogging team has absolutely no doubt this is true; we have made some assumptions on behalf of our awesome, overworked and underpaid R&D team.
Existing users can find further information about the changes included in WPS version 3.3 on the WPS Release Information pages.
New users can find information about WPS software and request a free evaluation on the WPS Product pages.