elykwilliams / libsc Goto Github PK
View Code? Open in Web Editor NEWThis project forked from cburstedde/libsc
The "sc" auxiliary library
Home Page: www.p4est.org/
License: GNU Lesser General Public License v2.1
This project forked from cburstedde/libsc
The "sc" auxiliary library
Home Page: www.p4est.org/
License: GNU Lesser General Public License v2.1
# The SC Library This is the `README` file for `libsc`. The SC Library provides support for parallel scientific applications. Copyright (C) 2010 The University of Texas System Additional copyright (C) 2011 individual authors `libsc` is written by Carsten Burstedde, Lucas C. Wilcox, Tobin Isaac, and others. `libsc` is free software released under the GNU Lesser General Public Licence version 2.1 (or, at your option, any later version). Please see doc/release_notes.txt for latest updates. The official web page for source code and documentation is [p4est.org](https://www.p4est.org/). Please send bug reports and ideas for contribution to `[email protected]`. You are also welcome to post issues on [github](https://www.github.com/cburstedde/libsc.git). Please see the `CONTRIBUTING` file and our [coding standards](doc/coding_standards.txt) for details. ## Building `libsc` The build instructions for `p4est` also apply to standalone builds of `libsc`. ### Autotools The autotools build chain is fully supported. In a fresh checkout, you may run `./bootstrap` to create the `configure` script. Calling `make` will regenerate the tools configuration as needed. Only in rare cases `./bootstrap` will have to be run again. The script depends on existing `autoconf`, `automake`, `libtool` and `pkg-config` tools. Calling `bootstrap` is *not* required for unpacked `tar` archives, or after pulling fresh code. We recommend running `configure` with a relative path from an empty build directory. Try configure --help for options and switches. For development with MPI: cd empty/build/directory ../relative/path/to/configure --enable-mpi --enable-debug \ CFLAGS="-O0 -g -Wall -Wextra -Wno-unused-parameter" make -j8 V=0 To run tests in parallel, run make -j2 check V=0 and to pack a distribution tarball, call `bootstrap` and mkdir -p build && cd build && ../configure make -j3 distcheck V=0 The `V=0` environment variable significantly unclutters console output. So far, we have not made `V=0` the default. ### CMake For faster builds that work on Windows as well as MacOS and Linux, and that are easily usable from other CMake projects, libsc can be built directly, or used via FetchContent or ExternalProject from other CMake projects. MPI and OpenMP are enabled by default, and the default build configuration is RelWithDebInfo: cmake -B build cmake --build build --parallel To enable JSON via jansson, first install [jansson CMake project](https://github.com/akheron/jansson), then specify path where you installed jansson to CMake, say ~/local: cmake -B build -Djansson_ROOT=~/local cmake --build build --parallel To disable MPI: cmake -B build -Dmpi=no To disable OpenMP: cmake -B build -Dopenmp=no To compile with debug options: cmake -B build -DCMAKE_BUILD_TYPE=Debug Optionally, run self-tests: ctest --test-dir build Optionally, install `libsc` like: cmake -B build -DCMAKE_INSTALL_PREFIX=~/local cmake --install build The optional examples can be built and tested like: cmake -S example -B example/build -DSC_ROOT=~/local cmake --build example/build ctest --test-dir example/build #### Distribution packages For developers, source and binary distribution packages are generated after building `libsc` by: cpack --config build/CPackSourceConfig.cmake cpack --config build/CPackConfig.cmake which creates files: * `build/package/SC-<version>-Source.zip` containing source code * `build/package/SC-<version>-<platform>.zip` containing binary libraries and executables suitable for computers of same operating system and compatible CPU arch
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.