{"id":26015620,"url":"https://github.com/jusqua/dip-benchmark","last_synced_at":"2026-04-20T15:01:38.604Z","repository":{"id":276186304,"uuid":"911765073","full_name":"jusqua/dip-benchmark","owner":"jusqua","description":"Departmental undergraduate research project at UFS. Digital image processing benchmark using multiple tools to learn new ways to develop image processors.","archived":false,"fork":false,"pushed_at":"2026-03-05T16:12:49.000Z","size":7507,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-05T19:27:02.234Z","etag":null,"topics":["benchmark","cuda","image-processing","matlab","opencv","sycl","visiongl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jusqua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-03T19:46:10.000Z","updated_at":"2026-03-05T16:14:41.000Z","dependencies_parsed_at":"2025-02-06T19:41:12.359Z","dependency_job_id":"15f846be-8522-41ac-a21b-6225d211ff36","html_url":"https://github.com/jusqua/dip-benchmark","commit_stats":null,"previous_names":["jusqua/numpy-dip-benchmark","jusqua/dip-benchmark"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jusqua/dip-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jusqua%2Fdip-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jusqua%2Fdip-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jusqua%2Fdip-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jusqua%2Fdip-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jusqua","download_url":"https://codeload.github.com/jusqua/dip-benchmark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jusqua%2Fdip-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32052534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","cuda","image-processing","matlab","opencv","sycl","visiongl"],"created_at":"2025-03-06T03:40:32.296Z","updated_at":"2026-04-20T15:01:38.596Z","avatar_url":"https://github.com/jusqua.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Digital Image Processing Benchmark\n\nDigital image processing benchmark using multiple tools to learn new ways to develop image processors.\n\n### Testing image\n\n![Eye with diabetic retinopathy](assets/fundus.jpg)\n\nYou can find this image as **dr_15.JPG** zipped in **images of eyes with diabetic retinopathy** hosted at [High-Resolution Fundus (HRF) Image Database](https://www5.cs.fau.de/research/data/fundus-images/).\n\n### Testing environment\n\n#### Operating system\n\n**Fedora Linux**\n\n|         | Version    |\n|---------|:----------:|\n| Fedora  | 42 (Adams) |\n| Kernel  | 6.17.5     |\n\n#### Device\n\n**NVIDIA GeForce RTX 5060 Ti**\n\n|         | Version   |\n|---------|:---------:|\n| Driver  | 580.95.05 |\n| CUDA    | 13.0.88   |\n| OpenCL  | 3.0       |\n\n### Benchmark results\n\n![Memory operations plot](assets/memory-operations.png)\n![Point operations plot](assets/point-operations.png)\n![Window erosion operations plot](assets/erosion-operations.png)\n![Window convolution 3x3 operations plot](assets/convolution-3x3-operations.png)\n![Window convolution 5x5 operations plot](assets/convolution-5x5-operations.png)\n\n#### [CUDA](benchmarks/cuda/)\n\n|         | Version |\n|---------|:-------:|\n| Julia   | 1.12.1  |\n| CUDA    | 13.0.88 |\n| CUDA.jl | 5.9.2   |\n\n| Operations                                 | Once               | Repeatedly                |\n|--------------------------------------------|-------------------:|--------------------------:|\n| Upload                                     |   0.005696s (once) |   0.005212s (10000 times) |\n| Download                                   |   0.006142s (once) |   0.006028s (10000 times) |\n| Copy                                       |     4.0e-5s (once) |   0.000482s (10000 times) |\n| Inversion                                  |   0.357799s (once) |   0.000463s (10000 times) |\n| Grayscale                                  |   0.061635s (once) |   0.000462s (10000 times) |\n| Threshold                                  |   0.066292s (once) |   0.000463s (10000 times) |\n| Erosion (3x3 Cross Kernel)                 |   0.154804s (once) |   0.000955s (10000 times) |\n| Erosion (3x3 Square Kernel)                |     3.3e-5s (once) |   0.001264s (10000 times) |\n| Erosion (1x3+3x1 Square Kernel)            |     3.5e-5s (once) |   0.001530s (10000 times) |\n| Convolution (3x3 Gaussian Blur Kernel)     |   0.067512s (once) |   0.001024s (10000 times) |\n| Convolution (1x3+3x1 Gaussian Blur Kernel) |     4.5e-5s (once) |   0.001216s (10000 times) |\n| Convolution (5x5 Gaussian Blur Kernel)     |     3.3e-5s (once) |   0.002268s (10000 times) |\n| Convolution (1x5+5x1 Gaussian Blur Kernel) |     3.6e-5s (once) |   0.001533s (10000 times) |\n| Gaussian Blur (3x3 Kernel)                 |   0.112115s (once) |   0.001053s (10000 times) |\n\n#### [OpenCV](benchmarks/opencv/)\n\n|        | Version |\n|--------|:-------:|\n| Python | 3.13.7  |\n| OpenCL | 3.0     |\n| OpenCV | 4.10.0  |\n\n| Operations                                 | Once               | Repeatedly                |\n|--------------------------------------------|-------------------:|--------------------------:|\n| Upload                                     |   0.001188s (once) |   0.001167s (10000 times) |\n| Download                                   |   0.003050s (once) |   0.001455s (10000 times) |\n| Copy                                       |   0.001431s (once) |   0.000297s (10000 times) |\n| Inversion                                  |   0.000156s (once) |   0.000125s (10000 times) |\n| Grayscale                                  |   0.000580s (once) |   0.000221s (10000 times) |\n| Threshold                                  |   0.000122s (once) |   0.000125s (10000 times) |\n| Erosion (3x3 Cross Kernel)                 |   0.000550s (once) |   0.000259s (10000 times) |\n| Erosion (3x3 Square Kernel)                |   0.000453s (once) |   0.000270s (10000 times) |\n| Erosion (1x3+3x1 Square Kernel)            |   0.000763s (once) |   0.000504s (10000 times) |\n| Convolution (3x3 Gaussian Blur Kernel)     |   0.000521s (once) |   0.000234s (10000 times) |\n| Convolution (1x3+3x1 Gaussian Blur Kernel) |   0.000774s (once) |   0.000426s (10000 times) |\n| Convolution (5x5 Gaussian Blur Kernel)     |   0.000578s (once) |   0.000327s (10000 times) |\n| Convolution (1x5+5x1 Gaussian Blur Kernel) |   0.000870s (once) |   0.000501s (10000 times) |\n| Gaussian Blur (3x3 Kernel)                 |   0.003612s (once) |   0.003848s (10000 times) |\n\n#### [MATLAB](benchmarks/matlab/)\n\n|        | Version        |\n|--------|:--------------:|\n| CUDA   | 13.0.88        |\n| MATLAB | 25.1.0.2943329 |\n\n| Operations                                 | Once               | Repeatedly                |\n|--------------------------------------------|-------------------:|--------------------------:|\n| Upload                                     |   0.002975s (once) |   0.001096s (10000 times) |\n| Download                                   |   0.007498s (once) |   0.002004s (10000 times) |\n| Copy                                       |   0.008353s (once) |   0.000000s (10000 times) |\n| Inversion                                  |   0.013583s (once) |   0.000008s (10000 times) |\n| Grayscale                                  |   0.091113s (once) |   0.000692s (10000 times) |\n| Threshold                                  |   0.006246s (once) |   0.000002s (10000 times) |\n| Erosion (3x3 Cross Kernel)                 |   0.369444s (once) |   0.000948s (10000 times) |\n| Erosion (3x3 Square Kernel)                |   0.001435s (once) |   0.000980s (10000 times) |\n| Erosion (1x3+3x1 Square Kernel)            |   0.364394s (once) |   0.001169s (10000 times) |\n| Convolution (3x3 Gaussian Blur Kernel)     |   2.491802s (once) |   0.002640s (10000 times) |\n| Convolution (1x3+3x1 Gaussian Blur Kernel) |  20.969134s (once) |   0.005883s (10000 times) |\n| Convolution (5x5 Gaussian Blur Kernel)     |   0.003758s (once) |   0.002867s (10000 times) |\n| Convolution (1x5+5x1 Gaussian Blur Kernel) |   0.006611s (once) |   0.005960s (10000 times) |\n| Gaussian Blur (3x3 Kernel)                 |   0.549329s (once) |   0.002245s (10000 times) |\n\n#### [SYCL](benchmarks/sycl/)\n\n|             | Version         |\n|-------------|:---------------:|\n| Clang       | 20.1.8          |\n| CUDA        | 13.0.88         |\n| AdaptiveCPP | commit 3992a120 |\n\n| Operations                                 | Once               | Repeatedly                |\n|--------------------------------------------|-------------------:|--------------------------:|\n| Upload                                     |   0.001449s (once) |   0.001080s (10000 times) |\n| Download                                   |   0.001475s (once) |   0.001469s (10000 times) |\n| Copy                                       |   0.000826s (once) |   0.000125s (10000 times) |\n| Inversion                                  |   0.000351s (once) |   0.000175s (10000 times) |\n| Grayscale                                  |   0.000261s (once) |   0.000153s (10000 times) |\n| Threshold                                  |   0.000274s (once) |   0.000177s (10000 times) |\n| Erosion (3x3 Cross Kernel)                 |   0.000892s (once) |   0.000795s (10000 times) |\n| Erosion (3x3 Square Kernel)                |   0.000929s (once) |   0.000922s (10000 times) |\n| Erosion (1x3+3x1 Square Kernel)            |   0.000822s (once) |   0.000807s (10000 times) |\n| Convolution (3x3 Gaussian Blur Kernel)     |   0.000984s (once) |   0.000875s (10000 times) |\n| Convolution (1x3+3x1 Gaussian Blur Kernel) |   0.000814s (once) |   0.000799s (10000 times) |\n| Convolution (5x5 Gaussian Blur Kernel)     |   0.001831s (once) |   0.001819s (10000 times) |\n| Convolution (1x5+5x1 Gaussian Blur Kernel) |   0.001125s (once) |   0.001107s (10000 times) |\n| Gaussian Blur (3x3 Kernel)                 |   0.000439s (once) |   0.000311s (10000 times) |\n\n#### [VisionGL](benchmarks/visiongl/)\n\n|             | Version        |\n|-------------|:--------------:|\n| Clang       | 20.1.8         |\n| OpenCL      | 3.0            |\n| VisionGL    | commit 4507817 |\n\n| Operations                                 | Once               | Repeatedly                |\n|--------------------------------------------|-------------------:|--------------------------:|\n| Upload                                     |   0.002091s (once) |   0.001720s (10000 times) |\n| Download                                   |   0.002065s (once) |   0.001982s (10000 times) |\n| Copy                                       |   0.002311s (once) |   0.000192s (10000 times) |\n| Inversion                                  |   0.000670s (once) |   0.000190s (10000 times) |\n| Grayscale                                  |   0.000721s (once) |   0.000190s (10000 times) |\n| Threshold                                  |   0.000703s (once) |   0.000188s (10000 times) |\n| Erosion (3x3 Cross Kernel)                 |   0.001138s (once) |   0.000364s (10000 times) |\n| Erosion (3x3 Square Kernel)                |   0.000459s (once) |   0.000323s (10000 times) |\n| Erosion (1x3+3x1 Square Separated Kernel)  |   0.000762s (once) |   0.000503s (10000 times) |\n| Convolution (3x3 Gaussian Blur Kernel)     |   0.001151s (once) |   0.000297s (10000 times) |\n| Convolution (1x3+3x1 Gaussian Blur Kernel) |   0.000693s (once) |   0.000489s (10000 times) |\n| Convolution (5x5 Gaussian Blur Kernel)     |   0.000645s (once) |   0.000507s (10000 times) |\n| Convolution (1x5+5x1 Gaussian Blur Kernel) |   0.000755s (once) |   0.000629s (10000 times) |\n| Gaussian Blur (3x3 Kernel)                 |   0.000728s (once) |   0.000209s (10000 times) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjusqua%2Fdip-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjusqua%2Fdip-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjusqua%2Fdip-benchmark/lists"}