Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit207cb87

Browse files
committed
generate stars/repo history plots
1 parent1f7edca commit207cb87

File tree

7 files changed

+757
-89
lines changed

7 files changed

+757
-89
lines changed

‎.gitignore‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Python virtual environments
2+
venv/
3+
env/
4+
ENV/
5+
.venv/
6+
7+
# Python cache
8+
__pycache__/
9+
*.py[cod]
10+
*$py.class
11+
*.so
12+
.Python
13+
14+
# Distribution / packaging
15+
dist/
16+
build/
17+
*.egg-info/
18+
.eggs/
19+
20+
# Generated visualizations and data
21+
*.png
22+
*.jpg
23+
*.pdf
24+
*.json
25+
!requirements.txt
26+
27+
# Jupyter Notebook
28+
.ipynb_checkpoints
29+
30+
# IDE
31+
.vscode/
32+
.idea/
33+
*.swp
34+
*.swo
35+
*~
36+
37+
# macOS
38+
.DS_Store
39+
.AppleDouble
40+
.LSOverride
41+
42+
# Fortran
43+
*.mod
44+
*.o
45+
*.a
46+
*.so
47+
*.dylib
48+
*.exe
49+
50+
# Build artifacts
51+
bin/
52+
lib/
53+
*.out

‎CLAUDE.md‎

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#Instructions for Claude
2+
3+
This file contains guidelines and conventions to follow when working on this repository.
4+
5+
##Repository Maintenance Guidelines
6+
7+
###1. README.md Table of Contents
8+
9+
**IMPORTANT**: Every time new content is added to the repository (directories, scripts, examples, documentation, etc.), it MUST be reflected in the main README.md file.
10+
11+
**Why**: Visitors should be able to easily understand what's in the repository and navigate to relevant content from the README.
12+
13+
**How**:
14+
- Update the "Repository Structure" section with new directories
15+
- Add new sections describing the purpose and contents of new additions
16+
- Include links to sub-READMEs or documentation when appropriate
17+
- Keep the structure hierarchical and easy to scan
18+
19+
**IMPORTANT - Keep README.md SHORT and CLEAN**:
20+
- The main README.md must be concise - just titles and minimal content
21+
- Avoid verbose descriptions, detailed instructions, or long lists
22+
- Use brief one-line descriptions for new sections
23+
- Always link to subdirectory READMEs for detailed information
24+
- Detailed documentation belongs in subdirectory READMEs, not the main README
25+
26+
**Example**: When the`media/stars/` directory was added with Python scripts to generate repository statistics, the README.md should be updated to include:
27+
- The directory in the structure tree
28+
- A description of what's in`media/stars/`
29+
- Links to the sub-README or mention of key scripts
30+
31+
###2. Documentation Standards
32+
33+
- Every subdirectory with scripts or code should have its own README.md
34+
- READMEs should include:
35+
- Purpose and overview
36+
- Installation/setup instructions
37+
- Usage examples
38+
- Expected outputs
39+
- Links to related resources
40+
41+
###3. Code Organization
42+
43+
- Keep related content in well-named directories
44+
- Use descriptive filenames
45+
- Add comments and docstrings to all scripts
46+
- Include requirements.txt or equivalent for dependencies
47+
48+
###4. Presentation-Focused Content
49+
50+
This repository is for a FortranCon 2025 presentation. Keep this context in mind:
51+
- Examples should be clear and demonstrative
52+
- Visualizations should be high-quality (300+ DPI)
53+
- Code should be well-commented for educational purposes
54+
- Include both working examples and their expected outputs
55+
56+
###5. Git Workflow
57+
58+
- Keep commits focused and atomic
59+
- Write clear commit messages
60+
- Don't commit generated outputs (images, data files) unless they're meant as reference examples
61+
62+
##Current Repository Structure Tracking
63+
64+
When adding new directories or significant content, track them here for easy reference when updating README.md:
65+
66+
-[x]`examples/` - Code examples (structure defined, not yet created)
67+
-[x]`tests/` - Test suites (structure defined, not yet created)
68+
-[x]`benchmarks/` - Performance comparisons (structure defined, not yet created)
69+
-[x]`docs/` - Additional documentation (structure defined, not yet created)
70+
-[x]`media/` - Presentation materials
71+
-[x]`media/stars/` - Repository statistics and star history scripts
72+
73+
##Quick Checklist for Adding New Content
74+
75+
When adding new directories, scripts, or major features:
76+
77+
-[ ] Create the content/directory
78+
-[ ] Add appropriate README.md in the subdirectory (if applicable)
79+
-[ ] Update main README.md:
80+
-[ ] Repository Structure section
81+
-[ ] Add descriptive section explaining the new content
82+
-[ ] Update any relevant links or references
83+
-[ ] Add entry to this CLAUDE.md tracking list
84+
-[ ] Ensure any scripts have proper documentation and usage instructions
85+
86+
##Style Guidelines
87+
88+
- Use clear, concise language
89+
- Prefer active voice
90+
- Keep line lengths reasonable for readability
91+
- Use markdown formatting consistently
92+
- Include code examples with proper syntax highlighting
93+
94+
##Contact and Conventions
95+
96+
Primary maintainer: F. Perini
97+
Context: FortranCon 2025 presentation materials
98+
Focus: Precision-agnostic BLAS/LAPACK and modern linear algebra API for stdlib

‎README.md‎

Lines changed: 5 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,6 @@ Built on these kernels, we provide a NumPy/SciPy-style API that retains Fortran'
1212

1313
The talk will cover design challenges, templating strategy, one-macro integration and head-to-head performance against Python front-ends, and highlights current community contributions and roadmap items. Attendees will learn how to adopt, extend and benchmark this next-generation Fortran linear-algebra stack, positioning stdlib as an everyday alternative to established numerical platforms.
1414

15-
##Repository Purpose
16-
17-
This repository contains:
18-
- Code examples demonstrating the precision-agnostic BLAS/LAPACK interface
19-
- Test cases showcasing various precision levels (32-, 64-, 80-, 128-bit)
20-
- Performance benchmarks comparing stdlib with Python front-ends
21-
- Integration examples with third-party libraries (OpenBLAS, MKL, Accelerate)
22-
- Documentation and materials for the FortranCon 2025 presentation
23-
2415
##Repository Structure
2516

2617
```
@@ -37,91 +28,16 @@ This repository contains:
3728
├── benchmarks/ # Performance comparison scripts
3829
│ ├── vs_python/ # Comparisons with NumPy/SciPy
3930
│ └── backends/ # Backend library comparisons
31+
├── media/ # Presentation materials and visualizations
32+
│ └── stars/ # Repository statistics and star history scripts
4033
├── docs/ # Additional documentation and slides
34+
├── CLAUDE.md # Guidelines for repository maintenance
4135
└── README.md # This file
4236
```
4337

44-
##Key Features Demonstrated
45-
46-
1.**Precision Agnostic Interface**
47-
- Real and complex arithmetic in 32-, 64-, 80-, and 128-bit kinds
48-
- Templated implementation for type flexibility
49-
50-
2.**64-bit Integer Interface**
51-
- Support for arrays with >2 billion elements
52-
- Large-scale problem demonstrations
53-
54-
3.**One-Macro Backend Switching**
55-
- Runtime selection between reference and optimized implementations
56-
- Integration with OpenBLAS, MKL, Accelerate
57-
58-
4.**NumPy/SciPy-style API**
59-
- Pure functions and allocation-free subroutines
60-
- Intuitive operators for common operations
61-
- Zero-overhead semantics
62-
63-
5.**Error Handling**
64-
- Lightweight state handler
65-
- Zero-cost optional error checking
66-
67-
##Getting Started
68-
69-
###Prerequisites
70-
71-
- Modern Fortran compiler (gfortran 9+, ifort 19+, or equivalent)
72-
- Fortran Standard Library (stdlib)
73-
- Optional: OpenBLAS, MKL, or Accelerate for backend comparisons
74-
- Optional: Python 3.8+ with NumPy/SciPy for benchmarks
75-
76-
###Building Examples
77-
78-
```bash
79-
# Clone the repository
80-
git clone<repository-url>
81-
cd fortran-lapack-examples
82-
83-
# Build all examples
84-
make all
85-
86-
# Run specific example
87-
make run-example EXAMPLE=basic/matrix_multiply
88-
89-
# Run tests
90-
maketest
91-
92-
# Run benchmarks
93-
make benchmark
94-
```
95-
96-
##Examples Overview
97-
98-
###Basic Operations
99-
- Matrix-matrix multiplication
100-
- Matrix-vector operations
101-
- Linear system solvers
102-
103-
###Precision Demonstrations
104-
- Same code running at different precisions
105-
- Mixed-precision calculations
106-
- Precision comparison studies
107-
108-
###High-Level API
109-
- Determinant computation
110-
- Matrix inversion
111-
- Eigenvalue/eigenvector solvers
112-
- QR, LU, Cholesky factorizations
113-
114-
###Backend Integration
115-
- Switching between reference and optimized libraries
116-
- Performance comparison across backends
117-
118-
##Performance Results
119-
120-
Performance comparisons will be added as benchmarks are completed.
121-
122-
##Contributing
38+
##Presentation Materials
12339

124-
This repository is part of the Fortran Standard Library effort. Contributions, examples, and feedback are welcome!
40+
The`media/stars/` directory contains scripts for generating repository statistics and visualizations (star history, commit activity, contributors, etc.). See[media/stars/README.md](media/stars/README.md) for details.
12541

12642
##Related Links
12743

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp