Add solid, liquid and gaseous fuels

Part of #811

The asserted fuel structure looks now like this (sub-trees containing only non-equivalent classes not exanded):

And the inferred view now looks like this (again, sub-trees containing only non-equivalent classes not exanded):

There are some minor things, which I noticed:

The class syngas is not sorted correctly into gaseous combustion fuel as despite its definition (Syngas is a portion of matter which is a fuel gas mixture consisting primarily of hydrogen, carbon monoxide, and very often some carbon dioxide.) lacks the axiom 'has normal state of matter' value gaseous'. I will add this on the fly.
We have a class synthetic liquid fuel which is defined as: Synthetic liquid fuel is synthetic fuel produced in a power-to-liquid system from water and carbon dioxide using electric energy applying. This class is more specific than the liquid synthetic fuel we talked about today. So I'll add liquid synthetic fuel  and synthetic liquid fuel can then be a subclass of that (and maybe can get a better label, too). Additionally I will create a new issue for that.

Good work!
Nevertheless, I am not 100% convinced of xxx fossil fuel because they are now subclasses of fossil combustion fuel.
I am thinking of fossil fuels which are not supposed to be combusted like oil which is used to produce plastics.
I am aware that this is a rare use case with an energy background but I would prefer xxx fossil combustion fuel instead of xxx fossil fuel.

A combustible fuel is a fuel that has the combustible energy carrier disposition which itself is a special type of the general energy disposition. The energy carrier disposition says that something contains energy. The combustible energy carrier disposition basically says the energy can be released by burning the fuel (or by other kind of chemical reaction). The question is not whether the fuel is combusted but whether the fuel can be combusted. Also oil that is going to plastic production contains chemical energy that can be released by combustion and hence also oil not burned is a combustion fuel.

I agree with the proposed structure.
From my point of view, there are some points that need to be discussed:

Our current definition of biofuel does not include the non-renewable biofuels. If we do not discuss it here, we should do it in #872 after implementation. Right now, in my opinion biofuel with the current definition would be an asserted and not only an inferred subclass of renewable fuel.
liquid biofuel and solid biofuel do not have a sufficient 'term tracker item'.
biogas should be an asserted subclass of gaseous biofuel from my point of view.

Issue #872 does not yet have a solution so I would not like to change this here.
Thanks for spotting the missing term tracker items,
I would like to exclude the redefinition of biogas from this PR and add this to issue #872.

It is just a minor change: Our current definition of solar-steam-electric process uses steam power process which is not defined.
We defined only steam-electric process which is used in 'equivalent to'.
Should we just optimise the definition?

It is just a minor change: Our current definition of solar-steam-electric process uses steam power process which is not defined. We defined only steam-electric process which is used in 'equivalent to'. Should we just optimise the definition?

This has nothing to do with this PR, please create an issue for that.


Add git rev to snap version

version part override-pull cds to root so git rev provides the required data to set the version

Looks like this is working:
15:24:07 Snapping 'edgexfoundry' ...
15:25:51
15:25:51 Snapped edgexfoundry_1.0.2-20191018+0247237b_amd64.snap

Will merge after the arm64 test is done

@jamesrgregg out of curiosity why was this PR added to the security WG project?

it was moved to the icebox on the project tracker so it could be dispositioned between either core or security wgs
it was tagged as edinburgh so it seemed like it was late and by moving it to the icebox column.. it was a means to start the dialog
it's good that this spawned some action on your part because it seems this issue was addressed.

I guess my question was more directed towards putting it on the security board instead of the core board. This doesn't have anything to do with the security WG work.
Note that this PR is just changing packaging of the snap, which was recently broken (hence this PR to fix it), so if there was a devops/packaging board that would be more appropriate for this I think (this should also be true of any other PR tagged "snap").

hey @anonymouse64 use the tags or create new ones so we can make sure that the issues can be organized on the kanban board so as to not create confusion.
thanks for taking action on this one

Sorry I saw the board had a "lock" on it, so I didn't realize I have perms to change things there, it appears I do have perms to move things though.
Thanks!

the tracker for security is a top level org tracker found here - https://github.com/orgs/edgexfoundry/projects/28


Alterations dont seem to work

I have put alteration list in my service...
When I ask a question with the origin word ( the question in qnamaker contains the word ) the score is high..
But when the same question is asked with the word alteration from original word's list, the score dramatically drops....
Are there any best practices or suggestions on how to make this work well?

If I train with the question alternatives with synonyms replaced then the scores imporve...
e.g. I want to buy laptop
laptop, notebook, note-book are synonyms
Scores are quite bad if I say I want to buy note-book...
But if I have alternate question trained, the scores are more are less in the range...
Uday
On Friday, 1 February, 2019, 12:09:33 AM IST, Kyle Delaney<EMAIL_ADDRESS>wrote:

Ah sorry, I meant to say QnAMaker, not LUIS. Do the scores improve if you train your QnAMaker app?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

That's very interesting, @ubreddy
Sorry for the delay. I think I understand now. May I ask how you're adding word alterations to your service? Are you using the REST API? Are you sending the HTTP messages with a specific tool? Have you verified that the alterations have been successfully applied to your service by downloading them?

Got resolved. Thanks to MS support. The solution was that the synonyms should be defined in lower case.Not sure why though!
Uday
On Thursday, 7 February, 2019, 5:39:31 AM IST, Kyle Delaney<EMAIL_ADDRESS>wrote:

That's very interesting, @ubreddy
Sorry for the delay. I think I understand now. May I ask how you're adding word alterations to your service? Are you using the REST API? Are you sending the HTTP messages with a specific tool? Have you verified that the alterations have been successfully applied to your service by downloading them?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Glad to hear your issue is fixed! I'm guessing internally the QnAMaker service must convert all queries to lower case but neglects to do that with alterations, so that could easily be a bug. Either way, I'll keep this solution in mind in case I encounter the issue again.
~ Kyle


Modifies initLayoutContainer method to be global

Removes bower dependencies in favor of npm
Updates tests to pass
Moves gulp dependencies to regular dependencies for postinstall script
Updates dependencies

This PR addresses the issues I have raised regarding library incompatibilities and npm install failures. I also took the liberty of removing the dependency on bower (as its development is now officially suspended) and moved all packages to use npm.
For now, I am maintaining my own fork of this as I needed these changes now (thank you for all of the work you put into this — it works like a charm), so this PR isn't urgent if you're wary.

Thanks @cwhenderson20 !

Since when is bower's development discontinued? It's active on Github (last changes 15 days ago) & it's blog shows active development. What's that all about?

I may have been mistaken, but at the time, I read a few posts that hinted at bower's slow or halting development. Regardless, the general trend has been to simply use npm rather than two separate package managers, especially given that npm 3 introduces flattened dependencies.


Demo3 does nothing

Other than displaying two lovely spheres, the dialogue system doesn't engage in v4.2.2.stable.official [15073afe3] nor does it throw any errors.

Nevermind, you might want to add an indicator that pressing tab kicks things off.


libtorrent can not be installed in Mac

Using cached AutoROM.accept-rom-license-0.5.5.tar.gz (22 kB)
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
Ignoring importlib-resources: markers 'python_version < "3.9"' don't match your environment
Collecting setuptools
Using cached setuptools-67.3.3-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.38.4-py3-none-any.whl (36 kB)
Collecting requests
Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Collecting tqdm
Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
ERROR: Could not find a version that satisfies the requirement libtorrent (from versions: none)
ERROR: No matching distribution found for libtorrent

Using cached AutoROM.accept-rom-license-0.5.5.tar.gz (22 kB) Installing build dependencies ... error error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [14 lines of output] Ignoring importlib-resources: markers 'python_version < "3.9"' don't match your environment Collecting setuptools Using cached setuptools-67.3.3-py3-none-any.whl (1.1 MB) Collecting wheel Using cached wheel-0.38.4-py3-none-any.whl (36 kB) Collecting requests Using cached requests-2.28.2-py3-none-any.whl (62 kB) Collecting tqdm Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB) ERROR: Could not find a version that satisfies the requirement libtorrent (from versions: none) ERROR: No matching distribution found for libtorrent

Not sure which step requires libtorrent?

pls try git clone


Add a Column to the template to address some of what we learnt from usability studies.

cc @HansMuller for review.
cc @sethladd since this is what we were talking about earlier.
cc @InMatrix to check that this seems likely that it would address the issues you noted.

This will be helpful. Thanks!


Remove -DNMODL_CLANG_FORMAT.

There's documentation that suggest that -DNMODL_FORMATTING activates automatic formatting. It's documented here:
https://github.com/BlueBrain/nmodl/blob/ec0db70590e72e89ae56ae5e2cd992abb3b40f3f/CONTRIBUTING.rst?plain=1#L155-L161
but neither flag seems to work for me and the targets don't seem to exist. I've been using:
$ cmake/hpc-coding-conventions/bin/format

in the past which works without issues. I would suggest deleting the related CMake code.

Of course, this was old system.

It formats code generated by JINA, not the output of NMODL. Apparently, this was useful.


Reproducing the results on ActivityNet

Hi @Pilhyeon, thanks for your great work! Now I'm following your BMUE and have some trouble in reproducing the results on ActivityNet dataset.
I have tried to do some experiments on ActivityNet v1.2. I downloaded the I3D features provided by this link and adapt them to BMUE format. The following are some of my results. All experiments run for 6k epochs, the results are showed in the form of "(average_mAP, Test_acc)":

[no params changed] (0.0390, 0.43)

According to Sec 4.1 in your arXiv paper, T=50, so I set num_segments as 50 and do the following experiments:

[num_segments: 50] (0.0275, 0.31)

[class_th: 0.1] (0.0332, 0.36)
[class_th: 0.1, act_thresh_cas: np.arange(0.0, 0.15, 0.015)] (0.0400, 0.36)

Besides, I also tried to change "act_thresh_magnitudes", "NMS thresh", "alpha", "_lambda & gamma in get_proposal_oic()", etc. The results don't seem to get better: the test accuracy is around 0.4 and the average_mAP is very low. It's hard for me to find the best settings. Could you please share your params settings on ActivityNet 1.2 & 1.3 datasets? Or give me some advice on which params to change?
Looking forward to your reply and I'd be glad to cite your excellent work. Thanks!

First of all, I apologize for the missing details about the experimental settings on ActivityNet.
Since I extracted the features for ActivityNet by myself, they might be different from those you used.
For example, the sampling rate of the videos or the pre-trained I3D models could be different.
I used the original fps of the videos and the pre-trained models from this repo.
For the hyperparameters, the batch size, the margin, alpha, (r_act, r_bkg), and the NMS threshold are set to 512, 250, 1e-4, (5, 50), and 0.8, respectively.
I hope this would help.

Can you share  the feature of act1.2?

@tobbysong  Do you meet this problem? How to sovle it? The problem is as follow:
Traceback (most recent call last):
File "./main.py", line 76, in
test(net, config, logger, test_loader, test_info, step)
File "/home/10601002/activitynet1.2/Background-Modeling-via-Uncertainty-Estimation-master/test.py", line 69, in test
cas_pred = utils.upgrade_resolution(cas_pred, config.scale)
File "/home/10601002/activitynet1.2/Background-Modeling-via-Uncertainty-Estimation-master/utils.py", line 16, in upgrade_resolution
f = interp1d(x, arr, kind='linear', axis=0, fill_value='extrapolate')
File "/cm/shared/apps/ml-pythondeps-py37-cuda10.2-gcc/lib/python3.7/site-packages/scipy/interpolate/interpolate.py", line 541, in init
"least %d entries" % minval)
ValueError: x and y arrays must have at least 2 entries.
Thank you.I am waiting for your reply

Thanks for your wonderful work. Could you please share your features in Activitynet 1.3?

Hi @Pilhyeon,  I  can't reproduce the result of activitynet1.2.Do you know why?I use the feature provided by this link.And my result is very terrible.The params is as follow:
the batch size, the margin, alpha, (r_act, r_bkg), and the NMS threshold are set to 512, 250, 1e-4, (5, 50), and 0.8
num_segments=50,class_th= 0.2.
And my result is as follow:
Step: 750
Test_acc: 0.1160
average_mAP: 0.0875
<EMAIL_ADDRESS>0.1225
<EMAIL_ADDRESS>0.1146
<EMAIL_ADDRESS>0.1086
<EMAIL_ADDRESS>0.1028
<EMAIL_ADDRESS>0.0970
<EMAIL_ADDRESS>0.0899
<EMAIL_ADDRESS>0.0818
<EMAIL_ADDRESS>0.0713
<EMAIL_ADDRESS>0.0539
<EMAIL_ADDRESS>0.0332
Looking forward to your reply and I'd be glad to cite your excellent work. Thanks!

Hi, have you got the better result after you set the hyperparameters as mentioned?
Thanks.

Hi @Pilhyeon, thanks for your great work! Now I'm following your BMUE and have some trouble in reproducing the results on ActivityNet dataset.
I have tried to do some experiments on ActivityNet v1.2. I downloaded the I3D features provided by this link and adapt them to BMUE format. The following are some of my results. All experiments run for 6k epochs, the results are showed in the form of "(average_mAP, Test_acc)":

[no params changed] (0.0390, 0.43)

According to Sec 4.1 in your arXiv paper, T=50, so I set num_segments as 50 and do the following experiments:

[num_segments: 50] (0.0275, 0.31)

[class_th: 0.1] (0.0332, 0.36)
[class_th: 0.1, act_thresh_cas: np.arange(0.0, 0.15, 0.015)] (0.0400, 0.36)

Besides, I also tried to change "act_thresh_magnitudes", "NMS thresh", "alpha", "_lambda & gamma in get_proposal_oic()", etc. The results don't seem to get better: the test accuracy is around 0.4 and the average_mAP is very low. It's hard for me to find the best settings. Could you please share your params settings on ActivityNet 1.2 & 1.3 datasets? Or give me some advice on which params to change?
Looking forward to your reply and I'd be glad to cite your excellent work. Thanks!

Hi toby ,
Can you kindly share your version of the repo for ActivityNet dataset in this email<EMAIL_ADDRESS>if possible ?

Hi @Pilhyeon, thanks for your great work! Now I'm following your BMUE and have some trouble in reproducing the results on ActivityNet dataset.
I have tried to do some experiments on ActivityNet v1.2. I downloaded the I3D features provided by this link and adapt them to BMUE format. The following are some of my results. All experiments run for 6k epochs, the results are showed in the form of "(average_mAP, Test_acc)":

[no params changed] (0.0390, 0.43)

According to Sec 4.1 in your arXiv paper, T=50, so I set num_segments as 50 and do the following experiments:

[num_segments: 50] (0.0275, 0.31)

[class_th: 0.1] (0.0332, 0.36)
[class_th: 0.1, act_thresh_cas: np.arange(0.0, 0.15, 0.015)] (0.0400, 0.36)

Besides, I also tried to change "act_thresh_magnitudes", "NMS thresh", "alpha", "_lambda & gamma in get_proposal_oic()", etc. The results don't seem to get better: the test accuracy is around 0.4 and the average_mAP is very low. It's hard for me to find the best settings. Could you please share your params settings on ActivityNet 1.2 & 1.3 datasets? Or give me some advice on which params to change?
Looking forward to your reply and I'd be glad to cite your excellent work. Thanks!

hi @tobbysong, have you got the better result after you set the hyperparameters as mentioned?

Hi @Pilhyeon, thanks for your great work! Now I'm following your BMUE and have some trouble in reproducing the results on ActivityNet dataset.
I have tried to do some experiments on ActivityNet v1.2. I downloaded the I3D features provided by this link and adapt them to BMUE format. The following are some of my results. All experiments run for 6k epochs, the results are showed in the form of "(average_mAP, Test_acc)":

[no params changed] (0.0390, 0.43)

According to Sec 4.1 in your arXiv paper, T=50, so I set num_segments as 50 and do the following experiments:

[num_segments: 50] (0.0275, 0.31)

[class_th: 0.1] (0.0332, 0.36)
[class_th: 0.1, act_thresh_cas: np.arange(0.0, 0.15, 0.015)] (0.0400, 0.36)

Besides, I also tried to change "act_thresh_magnitudes", "NMS thresh", "alpha", "_lambda & gamma in get_proposal_oic()", etc. The results don't seem to get better: the test accuracy is around 0.4 and the average_mAP is very low. It's hard for me to find the best settings. Could you please share your params settings on ActivityNet 1.2 & 1.3 datasets? Or give me some advice on which params to change?
Looking forward to your reply and I'd be glad to cite your excellent work. Thanks!

hi @tobbysong, have you got the better result after you set the hyperparameters as mentioned?

@xumh-9 @cecilia930426 @sauradip
ActivityNet1.2 from W-TALC github.
ActivityNet1.3 from A2CL-PT github.

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

Hi, could you reproduce the result of 41.8 mAP about THUMOS14 in paper without their pre-trained model?

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

Hi, could you reproduce the result of 41.8 mAP about THUMOS14 in paper without their pre-trained model?

Unfortunately, it's only around 40.0 mAP

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

Hi, could you reproduce the result of 41.8 mAP about THUMOS14 in paper without their pre-trained model?

Unfortunately, it's only around 40.0 mAP

The best result I got is 40.2, I sent email to author, but he cannot provide any training log and told me the random seed is unknown for the best result...I have tried many random seed but it did not work...

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

Hi, could you reproduce the result of 41.8 mAP about THUMOS14 in paper without their pre-trained model?

Unfortunately, it's only around 40.0 mAP

The best result I got is 40.2, I sent email to author, but he cannot provide any training log and told me the random seed is unknown for the best result...I have tried many random seed but it did not work...

Me too. I run the code and only get the result of 40.2 mAP about THUMOS14.

how about the settings of 'class_th', 'act_thresh_cas', 'act_thresh_magnitudes'?
Could you provide a complete configure file for ActivityNet1.2 and ActivityNet1.3?
That will very helpful.@kiwiJ

Hi, could you reproduce the result of 41.8 mAP about THUMOS14 in paper without their pre-trained model?

Unfortunately, it's only around 40.0 mAP

The best result I got is 40.2, I sent email to author, but he cannot provide any training log and told me the random seed is unknown for the best result...I have tried many random seed but it did not work...

Me too. I run the code and only get the result of 40.2 mAP about THUMOS14.

Me too. Has anyone reproduced the reported performance?


'0000-00-00 00:00:00' Date error in JDBC catalog connection.

Background:
When creating a JDBC catalog connection to a MySQL DB, and trying to select rows that have Date values of '0000-00-00 00:00:00' the "error: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0" is thrown.
Steps to reproduce the behavior (Required)
INSERT INTO
    my_table (
        id,
        date_column
        )
SELECT
    id,
    date_column
FROM
    ext_catalog.mysql_db.mysql_table;

Expected behavior (Required)
Our table should be populated with the data from the external catalog's table.
Real behavior (Required)
The above mentioned error is thrown
StarRocks version (Required)

3.3.0-rc02-be533a8
3.1.12-fc2b9c3

Already tried the following:
INSERT INTO
    my_table (
        id,
        date_column
        )
SELECT
    id,
    CASE
	WHEN (
		MONTH(date_column) = 0
		OR YEAR(date_column) = 0
		OR DAY(date_column) = 0
	) THEN NULL
	ELSE date_column
END AS date_column
FROM
    ext_catalog.mysql_db.mysql_table;

But still receiving the same error.

👍


Camera Intent Exceptions

The Camera Intent recipe in recipes/Recipes/android/other_ux/camera_intent/take_a_picture_and_save_using_camera_app/ experiences some exceptions. When run with SDK 23 it throws an exception due to permissions having not been requested first. More importantly when run on SDK 28 it throws Android.OS.FileUriExposedException. Please update when possible.

In Android N+ there are no more file:// URIs, only content:// URIs instead. That's why Camera Activity can't work with Uri.FromFile(App._file).
The solution, changed for VS Xamarin, I used:
protected override void OnCreate(Bundle savedInstanceState){
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.SetVmPolicy(builder.Build());
base.OnCreate(savedInstanceState);
...
}
Other code is without changes.
I tried it on Android N 7.1.1 on real device and it's works.


Improve test suite performance

The tests are currently slow as they load remote websites. Instead, we should test against a local server. Each test should have their own server instance.
See https://github.com/sindresorhus/ky/blob/ca0d3477f2ad0b986ad8f97838fc8e51059f6b24/test/main.js#L22-L31 for on to do it.
We also need to figure out why the tests causes the following warning:
(node:86466) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added.

@issuehunt has funded $30.00 to this issue. See it on IssueHunt

@sindresorhus has rewarded $27.00 to @bfred-it. See it on IssueHunt

:moneybag: Total deposit: $30.00
:tada: Repository reward(0%): $0.00
:wrench: Service fee(10%): $3.00


Fix download auto-pausing when network is cut

Summary
The DownloadManager no longer has direct access to an associated videoDownloader instance after the changes requires to support the Background Fetch API.
We now use a custom event to signal a pause intent and when we're in a document context, we allow the VideoDownloaderRegistry instance to listen to these events and to direct them to the appropriate videoDownloader instances allowing them to change their UI to display a paused state.

Fixes #176

Bug found: https://github.com/GoogleChrome/kino/issues/183


bug(Cdk virtual scroll): Cdk virtual scroll not working properly with compareWith

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/fork/components-issue
Steps to reproduce:

I found a serious problem with *cdkVirtualFor, this improved the performance but breaking my functionality, in my selection-list, I will select options by checking the check-box like in the below image, if I select a option and scroll down and scroll up again I am losing the selection.

            {{cio.label}}

compareFunction = (option1:string, option2:string)=> option1===option2;
Expected Behavior
What behavior were you expecting to see?
Actual Behavior
What behavior did you actually see?
Environment

Angular:
CDK/Material:
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

Unfortunately the cdk's virtual scrolling isn't yet integrated with existing Angular Material components; you can follow #10122

Hi Jelbourn,
Thanks for the response, I have more than 1000 records, without virtual scroll it is very slow, is there any alternate solution?
Appreciate your help.
Thanks
Ashok.

@ilapavuluri sorry for the delay in taking a look at this.
You will probably want to either find

a way to not include all of your records in the at one time list (implement some kind of pagination) without *cdkVirtualFor or
use *cdkVirtualFor along with a custom component (i.e. remove your use of MatSelectionList) and custom class for handling your UI state

The first option is likely the easiest (and MatTable with MatPaginator might be helpful), but your API will have to support paging.

Thank you so much Michael for your response.
Thanks
Ashok.


3 dot menu - "Mark as Done" appears both as a button and in the 3 dot menu

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/27748
Action Performed:

Access staging.new.expensify.com
2 Sign into a valid account
Assign a task to any chat
Go to task chat, and observe the 3 dot menu in the upper right corner

Expected Result:
User expects all items to be within the 3 dot menu now
Actual Result:
"Mark as complete" is both a green button and also within the 3 dot menu. Both the buttons have the same function so no reason to be repeated
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.75-0
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0112dfc2656f23b7d3
Upwork Job ID:<PHONE_NUMBER>776894976
Last Price Increase: 2023-09-29

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I can reproduce sounds like we want to remove the Mark As Complete green button in favour of the Mark As Complete in the three dots?

I'm not sure if I should have added the Interal label... I don't know if we need those on deploy blockers...

@Christinadobrzyn, I think we should confirm in #expensify-open-source what the expected UI is here :)
Not a deploy blocker, tho!

My take is that we should remove the "Mark as complete" in the overflow menu as it would be too hidden if we remove the green button. The primary action of a task would be to Mark is at complete. So it should look like this:

But keen to hear what @shawnborton or @dannymcclain thinks.

I feel like I agree with @dubielzyk-expensify, but am curious if there's some previous decision that's been made that I'm missing. I think about it the same way though—the primary action for a task is to complete it, so it makes sense that it would be an ever-present big green button.
Similar to how on a report/request, the primary action is to pay it, so we show that as a big green button.

IMO this action is distinct from and more important than the typical actions you'd find in the 3-dot menu (ie "pin").

Thanks for the input, @dannymcclain @dubielzyk-expensify! I agree that we should keep the big green button and remove the item from the dropdown as illustrated here

Proposal
Problem
"Mark as Done" appears both as a button and in the 3 dot menu
Root cause
no root cause, more like a feature improvement
Changes

we should keep the big green button and remove the item from the dropdown as illustrated here

Considering above to be expected We can below from here.
if (ReportUtils.isOpenTaskReport(props.report) && canModifyTask) {
            threeDotMenuItems.push({
                icon: Expensicons.Checkmark,
                iconFill: themeColors.icon,
                text: props.translate('task.markAsComplete'),
                onSelected: () => Task.completeTask(props.report),
            });
        }

Thanks, @ishpaul777 but this issue is labelled as internal and so we're not accepting proposals here.

hey @aimane-chnaif do you think a regression test is needed for this?
Payouts due:
Issue Reporter: NA
Contributor: NA
Contributor+: $500 @aimane-chnaif - can you accept my offer in Upwork?
Eligible for 50% #urgency bonus? No since this was internal
Upwork job is here.

Awesome! Thanks @aimane-chnaif
I paid you in Upwork based on this payment overview - https://github.com/Expensify/App/issues/28421#issuecomment-1755989879


Get rid of supervisord

It is making the Python3 version more complex, and generally too cumbersome for what we need. Many users also reported trouble getting it installed locally.
Replace it with a small process pool implementation. We have good unitests already on signals so I don't expect lots of trouble.

Fixed in branch 0.9.x


Make --refactor-options=-s work

There seem to be two separate changes here, both of which look entirely reasonable (in future, I'd gently prefer two unrelated changes in two commits, but I'm not super fussed). You are switching to using execution not via a shell, and separately making -s go through as an interactive process. The first seems clearly a good idea. The second relies on detecting -s as refactor detects it, which might be a bit fragile (I guess refactor also has a long name for it?). I wonder if there is some sequence of magic that works for both - what stops runInteractiveRefactoring working in non-interactive refactorings? If the only drawback is the the temp file, then I'd be inclined to say use the same pattern for both.
CC @mpickering who wrote this code.

Oh, and thanks for the commit, appreciated! And don't worry about the failing appveyor test - I'm still trying to figure out how to set up appveyor.

You are correct about there being two (unrelated) changes--apologies for stuffing them in the same commit. And yes, it does appear that there's also a long option as well. I wasn't sure whether it would be preferable to avoid the temp file indirection if we could determine that the user asked for an interactive refactor, since if we always used the temp file, then we wouldn't have to care, but it does add (probably unnecessary) complexity, so I'll change it to just always use the temp file.

No worries at all about putting two things in one commit, I appreciate all changes.
For the -s thing and long arguments, I think it's probably even worse than that - I imagine -vs works to mean -v -s for short flags without arguments. Agreed that staying clear of temp files is generally desirable, but here, I don't think we have much choice to be robust.

It did used to use a temp file. I changed it in this commit - https://github.com/ndmitchell/hlint/commit/ce01fdb31a23326e269c77f95c4f38d224b0cd3a

Oh, right, option packing and whatnot...yes, trying to parse the options forwarded to `refactor' would be a waste of time. Good point.

OK, I split the unrelated changes into two commits and changed the refactor exec stuff as suggested.

Looks good to me. @mpickering, any final objections before I merge?

Nope, go ahead.

Thanks for the contribution @drvink!


Library d app fixed version

• Removed test identity
• Fixed general issues
• Fixed single click on items
• Implemented last mint.js Version

This was not tested after PrivateToPublic merge... Dont do it like that... It was failing on run, I added some fixes for it to work, but this will need to be retested and closely reviewed


Let ships connect to a local unix socket

Add a ship config option to allow ships to connect to docker via a unix socket
This is useful for local testing, since this is the default setting for docker and
more secure than a local tcp socket.
I investigated trying to make unix socket forwarding over ssh work, but the bgtunnel library does not support it (though it would be trivial to do so - it just needs to pass a path instead of "localhost:PORT" to the ssh -L option).

Thanks. Can you fix the test failures though? I think you need this instead:
   self.socket_path = os.path.realpath(socket_path) if socket_path else None

Right, my embarrassingly obvious mistake :P

Amended the original commit.


JSON de-serialization error on /status API call

What did you do?
I called the StatusAPI.Get() of the Alertmanager's Go client in order to get a server status info.  https://github.com/prometheus/alertmanager/blob/master/client/client.go#L125
What did you expect to see?
No errors being returned.
What did you see instead? Under which circumstances?
An error being returned in the format of json: cannot unmarshal string into Go struct field GlobalConfig.configJSON.global.smtp_smarthost of type config.HostPort.
Environment

System information:
Centos 7

Alertmanager version:
0.20.0-rc0

Alertmanager configuration file:

global:
  http_config: {}
  smtp_from: prometheus@localhost
  smtp_require_tls: false
  smtp_smarthost: localhost:25

route:
  receiver: "test"
  group_by: ['alertname']
  group_wait:      15s
  group_interval:  15s
  repeat_interval: 1m

receivers:
- name: "test"
  webhook_configs:
  - url: 'http://webhook.service:8080/api/webhooks/prometheus'
    send_resolved: true
    http_config:
      basic_auth:
        username: admin@localhost
        password: test

Thanks for the report!
I didn't think about github.com/prometheus/alertmanager/client when I submitted #2086 to remove support for JSON unmarshaling so in addition to the problem you're seeing, other issues exist. I'll do a revert of #2086 and a fix for this issue.


json output for epinio cli command - for automation

Is your feature request related to a problem? Please describe.
epinio cli is great, easy to use and understand. However, when we start to use the cli output for automation, it gets alittle tougher to parse.
eg: epinio namespace list
(base) ➜  environment epinio namespace list

🚢  Listing namespaces

✔  Epinio Namespaces:
|           NAME           |            CREATED            |          APPLICATIONS          |                 CONFIGURATIONS                  |
|--------------------------|-------------------------------|--------------------------------|-------------------------------------------------|
| bruno                    | 2023-08-21 13:13:26 +0000 UTC |                                |                                                 |
| fred                     | 2023-07-14 06:36:01 +0000 UTC |                                |                                                 |
| hadirga                  | 2023-07-04 17:25:14 +0000 UTC |                                | x6435997084156c96650cecfa7d24-postgres-secret   |
| hadirgax                 | 2023-08-26 00:22:00 +0000 UTC | leager, leager-python          | x1447c2a7c89e244a61fd3f0822f9-rabbitmq,         |
|                          |                               |                                | x1447c2a7c89e244a61fd3f0822f9-rabbitmq-config,  |
|                          |                               |                                | x1db0d53592d5cc7bf5dbe5c7ba7e-postgresql,       |
|

Describe the solution you'd like
I wonder if it is beneficial to have an epinio flag called --json so that the output from the shell would be a json output for easy parsing.
eg:
epinio namespace list --json
Would give:
{
  [
   {
      'name': 'bruno',
      'created': '2023-08-21 13:13:26 +0000 UTC',
      'applications': {
       ...
       }

   }

  ]

}

Describe alternatives you've considered
Using complex shell cutting and piping

Yes, we already had the same issue opened for a while (https://github.com/epinio/epinio/issues/435).
It's probably feasible but we would need a bit of refactor and cleanup of the CLI. Now it's a bit better than before, but still not that easy.
I would like to keep this in the radar.

Just to give you some context (actually just coincidental as i was asking for this feature to make it easy for me to undeploy/remove resources that dev creates and forgot to remove from the cluster)
We have a terrible bug that we found that was suddenly not working in our pipeline. (and we forgot that we upgraded to 1.9.0)
Our engineers use epinio configuration show CONFIG-NAME for retrieve metadata for our pipeline testing. This is ok when we are using 1.8.x but since we upgraded to 1.9... it show this.

As a result, the value we send was wrong... We still need to talk to the engineer the intent where we are retrieving the values this way instead from the container... but now u see why having a --json is important as it give us a way to retrieves value easily ;-)

I see. I've opened an epic to slowly adding the flag to the commands. The first will be the namespace, and maybe we can make it for the next release.
Do you have any other critical commands that are automated?

https://github.com/epinio/epinio/issues/2526

https://github.com/epinio/epinio/issues/2527

I will close this in favor of the epic 🙂


when prisma2 init newProject

when prisma2 init newProject,choose sqlite,select photon or lift,or both of them,generated code have no difference,what's the meaning of this?

This will be solved via https://github.com/prisma/prisma2/issues/278


[Test] Remove abi tests descriptors for KeyPathWithStaticMembers flag.

This removes property descriptors in abi tests that are being removed with the KeyPathWithStaticMembers flag and causing this failure in the swift macOS toolchain.

@xedin I'm unable to reproduce this locally so I've relied on the failure output shared on the PR.

@swift-ci please test

@swift-ci please test

@swift-ci please build toolchain macOS platform

@swift-ci please build toolchain macOS


[Adding Tool]: Add Illustroke

What tool are you adding and to what category?
We need to add Illustroke | Vector illustrations from text prompts AI. would like to add this in useful tools(tools) category.
Add Tool Link
tool link: https://illustroke.com/

Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] The tool is free for use

Can you assign this to me @Parul1606 ?

I have raised this issue, once I'm done with it then if there's any problem in it then you may raise another issue and can work on it.

I have raised this issue, once I'm done with it then if there's any problem in it then you may raise another issue and can work on it.

Sure, no problem. Best of luck.

Can you explain the issue @JasonDsouza212 ?

@itsajay1029   You have to add the illustroke tool as I have mentioned above with its link. Tool has to be added in src/db/product.json. It should have its name, category, link, image & desc. Make sure image link is shortened and description of the website is within 9 to 10 words. Follow contributing.md for more clearity. And if there's any other help you need, feel free to ask.


Config format change?

Please excuse me if I misunderstood the config syntax needed to specify individual filetypes, however it seems Atom is changing the config syntax after restart, and either way I cannot get it to work for individual file types.
I have the none as the generic setting, but wish to use tabify for some file types (eg: PHP). In my config.cson I have:
"*":
  .... ...
  "tabs-to-spaces": {}

So I add the following on a new line at the bottom (not indented or a subsection of anything):
".source.php":
  "tabs-to-spaces":
    "onSave": "tabify"

I save the file, but when saving tabs-to-spaces doesn't do anything. I restart Atom, and then notice that Atom has changed the syntax of the last edit in the config.cson to:
".php.source":
  "tabs-to-spaces":
    onSave: "tabify"

(Note the .source.php -> .php.source).
I'm currently using Atom 1.0.7 on Linux. Either way, it doesn't seem to have any effect and tabs-to-spaces doesn't work. If I change the general setting though to tabify, it works ~ however I only want certain file types affected so this isn't an option.
Any advice would be greatly appreciated!

Yes, Atom may change the format of the CSON in ways that do not change the meaning of the configuration. None of the transformations you list above are "significant" in that if the configuration worked before the transformation then it will work after the transformation.
I think the heart of your problem is that the scope for PHP is not .source.php as you assumed:

You can find the scope for the language on the settings page for the language package:

Start Atom
Open the Settings View
Click the Packages tab
Search for the package you want. In this case language-php.
Click the background of the package description box to open up the settings for the package
Find the scope of the grammar (there can be multiple in one language package, c.f. language-ruby)

Thank you for the tip! That did it.... I can't say the ordering makes sense, however Atom seems to "correct" it in its own way.
I used ".text.html.php" which automatically (on reload) got changed to:
".html.php.text":
  "tabs-to-spaces":
    onSave: "tabify"

But your tip for how to find the scope is gold! I don't recall seeing that anywhere in the docs, maybe you can add it (assuming it's not there)?
Thanks again!

I just double-checked and the information is there:
https://atom.io/docs/v1.0.7/using-atom-basic-customization#finding-a-language-s-scope-name
It isn't as step-by-step as my example though :smile:


Chart radarStyle => standard not work in PHPword ??

Hey to all
I want to write my radar chart with standard i make ( $xmlWriter->writeElementBlock('c:radarStyle', 'val', 'standard'); ) using PHPword chart but is not work it show a marker !
please if you have any answer help me thank you @phpword
example => https://ibb.co/gO0Eun
Best regards Saleh

up

Not a StackEdit issue I presume.

@benweet why ?

I don't see any relation with StackEdit in your description. Looks like you opened an issue in the wrong place (--> https://github.com/PHPOffice/PHPWord).

this is the part addchart in phpword => PhpOffice\PhpWord\Writer\Word2007\Part\Chart.php in function writePlotArea()


Trivial typo

What this PR does / why we need it:
Corrects minor spelling mistake in README

Hi @beveradb
thank you for opening this contribution. the type have been fixed in https://github.com/helm/charts/pull/18182
So I think you can close this PR.
Regards


Add citation information in download README

Context
We are adding a citation for the portal. Documentation ticket: https://github.com/AlexsLemonade/scpca-docs/issues/155
Problem or idea
Add the citation to the portal under Citation Section. Populate the Accessed download date dynamically to the date the dataset was downloaded.
Also add a link to the section is the docs explaining how to cite for projects without publications or pre-prints.
Solution or next step
The science team to provide copy for the above items.

@dvenprasad we can "templatize" the how to cite section instead of just prepending the "Generated On: 2023-10-26" to the readme's. We can also do project vs sample specific citation information.

Just noting that we're not going to do https://github.com/AlexsLemonade/scpca-portal/issues/451#issuecomment-1781781480, because that would capture the generation date not the access date. The access date is what we want for citations per the styles we'll suggest.


When an object does not exist that is mentioned in a policy, it will just compile the acl

It should bail out, telling there is a missing object

Fixed in 8865298d683450b427568eee41ceaaec68e0ed6e


Release Candidate 3 - (hotfix) Details, Discussion and Feedback

Changelog
https://github.com/WalletConnect/web3modal/releases/tag/2.0.0-rc.3

@0xAsimetriq I don't want to be look like spamming, but I really would like to know if there any reason for dropping ABC Wallet. If not, would you add it back again?

We started listing injected wallets alongside explorer wallets few versions ago which exposed abc wallet, however it was not working within web3modal due to not exposing itself on window.ethereum (as we discussed in prior issue when it was initially added). Did this change by any chance? If so we can look into adding it back. If not, please open a new issue once this is implemented.

We started listing injected wallets alongside explorer wallets few versions ago which exposed abc wallet, however it was not working within web3modal due to not exposing itself on window.ethereum (as we discussed in prior issue when it was initially added). Did this change by any chance? If so we can look into adding it back. If not, please open a new issue once this is implemented.

Support for window.ethereum is on the way for chrome store. I'll update here whenever it's released.

We started listing injected wallets alongside explorer wallets few versions ago which exposed abc wallet, however it was not working within web3modal due to not exposing itself on window.ethereum (as we discussed in prior issue when it was initially added). Did this change by any chance? If so we can look into adding it back. If not, please open a new issue once this is implemented.

@0xAsimetriq ABC Wallet version 16 has just now released. you may test window.etherum with newest version.

Thank you @0xAsimetriq. I've made a test integration for rainbowbridge.app which has been working well for us. It connects to multiple networks, and uses the ethers Web3Provider from useSigner() which was discussed here. Are there any risks we should be aware of before launching it ? There are currently no "bug" issues reported, when do you think it will be safe/stable to launch, are you planning a major release in the coming days ?

@paouvrard We are extremely close to releasing stable version now, I don't forsee any major breaking changes (there haven't been any for few versions now). But we will be changing how theming works at some point to allow for better and easier customisation i.e. config options like accentColor etc.. will likely be replace with theme: {} object that takes in overrides for multiple styles via css variables like
theme: {
 --w3m-color-accent: ...
 --w3m-border-radius: ...
 --w3m-h1-font: ...
}

But since there are not that many theming options atm, hopefully this is a quick update latter on for you guys.

Closing for https://github.com/WalletConnect/web3modal/issues/832


Warp memory alignment error when manually launching compiled PTX

Describe the bug
I am using Triton to compile a batched matmul kernel into a PTX as shown here:
import torch
import triton
import triton.language as tl
import os
KERNEL_PATH = "src/triton_kernels/"

@triton.jit
def batched_matmul_kernel(
    # Pointers to matrices
    a_ptr, b_ptr, c_ptr,
    # Matrix dimensions
    B, M, N, K,
    # The stride variables represent how much to increase the ptr by when moving by 1
    # element in a particular dimension. E.g. `stride_am` is how much to increase `a_ptr`
    # by to get the element one row down (A has M rows).
    stride_ab, stride_am, stride_ak,  #
    stride_bb, stride_bk, stride_bn,  #
    stride_cb, stride_cm, stride_cn,
    # Meta-parameters
    BLOCK_SIZE_M: tl.constexpr,
    BLOCK_SIZE_N: tl.constexpr,
    BLOCK_SIZE_K: tl.constexpr,  #
    GROUP_SIZE_M: tl.constexpr,  #
    ACTIVATION: tl.constexpr,  #
):
    """Kernel for computing the matmul C = A x B.
    A has shape (M, K), B has shape (K, N) and C has shape (M, N)
    """
    # -----------------------------------------------------------
    # Map program ids `pid` to the block of C it should compute.
    # This is done in a grouped ordering to promote L2 data reuse.
    # See above `L2 Cache Optimizations` section for details.
    pid = tl.program_id(axis=0)
    pid_b = tl.program_id(axis=1)

    num_pid_m = tl.cdiv(M, BLOCK_SIZE_M)
    num_pid_n = tl.cdiv(N, BLOCK_SIZE_N)
    num_pid_in_group = GROUP_SIZE_M * num_pid_n
    group_id = pid // num_pid_in_group
    first_pid_m = group_id * GROUP_SIZE_M
    group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M)
    pid_m = first_pid_m + ((pid % num_pid_in_group) % group_size_m)
    pid_n = (pid % num_pid_in_group) // group_size_m

    a_ptr = a_ptr + pid_b * stride_ab
    b_ptr = b_ptr + pid_b * stride_bb

    # ----------------------------------------------------------
    # Create pointers for the first blocks of A and B.
    # We will advance this pointer as we move in the K direction
    # and accumulate
    # `a_ptrs` is a block of [BLOCK_SIZE_M, BLOCK_SIZE_K] pointers
    # `b_ptrs` is a block of [BLOCK_SIZE_K, BLOCK_SIZE_N] pointers
    # See above `Pointer Arithmetic` section for details
    offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M
    offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N
    offs_k = tl.arange(0, BLOCK_SIZE_K)
    a_ptrs = a_ptr + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)
    b_ptrs = b_ptr + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)

    # -----------------------------------------------------------
    # Iterate to compute a block of the C matrix.
    # We accumulate into a `[BLOCK_SIZE_M, BLOCK_SIZE_N]` block
    # of fp32 values for higher accuracy.
    # `accumulator` will be converted back to fp16 after the loop if needed.
    accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)

    for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):
        # Load the next block of A and B, generate a mask by checking the K dimension.
        # If it is out of bounds, set it to 0.
        a = tl.load(a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0)
        b = tl.load(b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0)
        # We accumulate along the K dimension.
        accumulator = tl.dot(
            a, b, accumulator, allow_tf32=False
        )  # allow_tf32=False is extremely important to get the correct outputs, otherwise there are numerical errors.
        # Advance the ptrs to the next K block.
        a_ptrs += BLOCK_SIZE_K * stride_ak
        b_ptrs += BLOCK_SIZE_K * stride_bk

    # # You can fuse arbitrary activation functions here
    # # while the accumulator is still in FP32!
    # # if ACTIVATION == "leaky_relu":
    # #    accumulator = leaky_relu(accumulator)

    # # c = accumulator.to(tl.float16)
    c = accumulator.to(tl.float32)

    # # -----------------------------------------------------------
    # # Write back the block of the output matrix C with masks.
    offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)
    offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)
    c_ptrs = (
        c_ptr
        + pid_b * stride_cb
        + stride_cm * offs_cm[:, None]
        + stride_cn * offs_cn[None, :],
    )
    c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)
    tl.store(c_ptrs, c, mask=c_mask)

# We can fuse `leaky_relu` by providing it as an `ACTIVATION` meta-parameter in `matmul_kernel`.
@triton.jit
def leaky_relu(x):
    return tl.where(x >= 0, x, 0.01 * x)

B, M, N, K = 1, 512, 512, 512
a = torch.randn((B, M, K), device="cuda", dtype=torch.float32)
b = torch.randn((B, K, N), device="cuda", dtype=torch.float32)
c = torch.empty((B, M, N), device="cuda", dtype=torch.float32)
grid = lambda META: (
    triton.cdiv(M, META["BLOCK_SIZE_M"]) * triton.cdiv(N, META["BLOCK_SIZE_N"]),
    B,
)

config = {
    "BLOCK_SIZE_M": 128 // 2,
    "BLOCK_SIZE_N": 256 // 2,
    "BLOCK_SIZE_K": 64 // 2,
    "GROUP_SIZE_M": 8,
}
print(grid(config))

# grid = (1, 1)

batched_matmul_kernel[grid](
    a,
    b,
    c,
    B,
    M,
    N,
    K,
    a.stride(0),
    a.stride(1),
    a.stride(2),
    b.stride(0),
    b.stride(1),
    b.stride(2),
    c.stride(0),
    c.stride(1),
    c.stride(2),
    **config,
    ACTIVATION="",
)

with open(os.path.join(KERNEL_PATH, "bmm.ptx"), "w") as a:
    print(list(batched_matmul_kernel.cache[0].values())[0].asm["ptx"], file=a)

When running this kernel with pytorch and testing it against its bmm implementation, it works without a problem for different matrix sizes. But when importing the PTX manually inside a C program, I start getting warp memory alignment errors.
#include <cuda.h>
#include <cuda_runtime.h>
#include <stdio.h>
#include <stdlib.h>

#define MATRIX_SIZE 512
#define MATRIX_BYTES (MATRIX_SIZE * MATRIX_SIZE * sizeof(float))
#define VECTOR_BYTES (MATRIX_SIZE * sizeof(float))

// Error checking macro
#define CHECK_CUDA_ERROR(err)                                                  \
  if (err != CUDA_SUCCESS) {                                                   \
    printf("CUDA error: %d at line %d\n", err, __LINE__);                      \
    exit(-1);                                                                  \
  }

int main() {
  CUdevice device;
  CUcontext context;
  CUmodule module;
  CUfunction kernel;

  // Initialize CUDA driver API
  CHECK_CUDA_ERROR(cuInit(0));
  CHECK_CUDA_ERROR(cuDeviceGet(&device, 0));
  CHECK_CUDA_ERROR(cuCtxCreate(&context, 0, device));

  // Load PTX file
  CHECK_CUDA_ERROR(cuModuleLoad(&module, "./src/triton_kernels/bmm.ptx"));
  CHECK_CUDA_ERROR(
      cuModuleGetFunction(&kernel, module, "batched_matmul_kernel"));

  // Allocate host memory
  float *h_matrix1 = (float *)malloc(MATRIX_BYTES);
  float *h_matrix2 = (float *)malloc(MATRIX_BYTES);
  float *h_result = (float *)malloc(MATRIX_BYTES);

  // Initialize input data
  for (int i = 0; i < MATRIX_SIZE * MATRIX_SIZE; i++) {
    h_matrix1[i] = 1.0f;
    h_matrix2[i] = 1.0f;
  }

  // Allocate device memory
  CUdeviceptr d_matrix1, d_matrix2, d_result;
  CHECK_CUDA_ERROR(cuMemAlloc(&d_matrix1, MATRIX_BYTES));
  CHECK_CUDA_ERROR(cuMemAlloc(&d_matrix2, MATRIX_BYTES));
  CHECK_CUDA_ERROR(cuMemAlloc(&d_result, MATRIX_BYTES));
  printf("d_matrix1 pointer: %p\n", d_matrix1);
  printf("d_matrix2 pointer: %p\n", d_matrix2);
  printf("d_result pointer: %p\n", d_result);

  // Copy data to device
  CHECK_CUDA_ERROR(cuMemcpyHtoD(d_matrix1, h_matrix1, MATRIX_BYTES));
  CHECK_CUDA_ERROR(cuMemcpyHtoD(d_matrix2, h_matrix2, MATRIX_BYTES));

  int big_stride = MATRIX_SIZE * MATRIX_SIZE;
  int sma_stride = MATRIX_SIZE;
  int one = 1;

  // Set up kernel parameters
  void *args[] = {&d_matrix1,  &d_matrix2,  &d_result,   &one,
                  &sma_stride, &sma_stride, &sma_stride, &big_stride,
                  &sma_stride, &one,        &sma_stride, &one,
                  &big_stride, &sma_stride, &one};

  // Launch kernel
  dim3 gridDim(1, 1);
  dim3 blockDim(32, 1);

  CHECK_CUDA_ERROR(cuLaunchKernel(kernel, gridDim.x, gridDim.y,
                                  1,                         // grid dimensions
                                  blockDim.x, blockDim.y, 1, // block dimensions
                                  49152, NULL, // shared memory and stream
                                  args, NULL   // arguments and extra
                                  ));

  // Copy result back to host
  CHECK_CUDA_ERROR(cuCtxSynchronize());
  CHECK_CUDA_ERROR(cuMemcpyDtoH(h_result, d_result, MATRIX_BYTES));

  printf("h_result: %f %f %f ...\n", h_result[0], h_result[1], h_result[2]);

  // Clean up
  cuMemFree(d_matrix1);
  cuMemFree(d_matrix2);
  cuMemFree(d_result);

  free(h_matrix1);
  free(h_matrix2);
  free(h_result);

  cuModuleUnload(module);
  cuCtxDestroy(context);

  return 0;
}

The memory alignment errors appear when there is more than one warp per block (i.e. block size >32). If block_size <=32, then the bmm gets computed only for the corresponding submatrix.
Checking with compute-sanitizer, I see that there's a memory alignment error when reading a 16-byte chunk:
========= Invalid __global__ read of size 16 bytes
=========     at batched_matmul_kernel+0xfe0 in /home/user/batched_gemm.py:89
=========     by thread (32,0,0) in block (0,0,0)
=========     Address 0x7ff47f801004 is misaligned
=========     and is inside the nearest allocation at 0x7ff47f801000 of size 4,096 bytes
=========     Saved host backtrace up to driver entry point at kernel launch time
=========     Host Frame: [0x2dcdbf]
=========                in /lib64/libcuda.so.1
=========     Host Frame:main in /home/user/main.cu:80 [0x426f]
=========                in /home/user/main
=========     Host Frame:__libc_start_call_main [0x2a087]
=========                in /lib64/libc.so.6
=========     Host Frame:__libc_start_main [0x2a14a]
=========                in /lib64/libc.so.6
=========     Host Frame:_start [0x3bb4]
=========                in /home/user/main

The offending line in the Triton kernel is:
    b_ptrs = b_ptr + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)

Checking with cuda-gdb, the crash happens at this instruction:
*> 0x00007fffd925a5e0 <+4064>:  LDGSTS.E.BYPASS.128 [R136+0x4000], [R14.64], P4

Which tries to read 128 bits (16-bytes, 4 floats).
Could this be a bug from the compiler's side?
I don't understand how this could run fine when launching the kernel from Python though.
Just for reference, when inspecting the launched kernel in Python with ncu, grid size and block size are (32, 1), (128, 1) respectively.
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","DRAM Frequency","hz","9,487,024,743.51",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","SM Frequency","hz","1,394,772,717.48",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","Elapsed Cycles","cycle","73,962",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","Memory Throughput","%","13.84",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","DRAM Throughput","%","4.98",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","Duration","ns","53,024",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","L1/TEX Cache Throughput","%","37.35",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","L2 Cache Throughput","%","12.53",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","SM Active Cycles","cycle","27,388.04",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU Speed Of Light Throughput","Compute (SM) Throughput","%","20.04",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","SpeedOfLight","","","","SOLBottleneck","OPT","This kernel grid is too small to fill the available resources on this device, resulting in only 0.2 full waves across all SMs. Look at Launch Statistics for more details.","",""
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","SpeedOfLight_RooflineChart","","","","SOLFPRoofline","INF","The ratio of peak float (fp32) to double (fp64) performance on this device is 64:1. The kernel achieved 17% of this device's fp32 peak performance and 0% of its fp64 peak performance. See the Kernel Profiling Guide (https://docs.nvidia.com/nsight-compute/ProfilingGuide/index.html#roofline) for more details on roofline analysis.","",""
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","PM Sampling","Maximum Buffer Size","byte","18,874,368",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","PM Sampling","Dropped Samples","sample","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","PM Sampling","Maximum Sampling Interval","ns","2,000",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","PM Sampling","# Pass Groups","","2",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Compute Workload Analysis","Executed Ipc Active","inst/cycle","2.16",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Compute Workload Analysis","Executed Ipc Elapsed","inst/cycle","0.80",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Compute Workload Analysis","Issue Slots Busy","%","54.08",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Compute Workload Analysis","Issued Ipc Active","inst/cycle","2.16",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Compute Workload Analysis","SM Busy","%","54.08",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","ComputeWorkloadAnalysis","","","","HighPipeUtilization","INF","FMA is the highest-utilized pipeline (46.9%) based on active cycles, taking into account the rates of its different instructions. It executes 32-bit floating point (FADD, FMUL, FMAD, ...) and integer (IMUL, IMAD) operations. It is well-utilized, but should not be a bottleneck.","",""
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","Memory Throughput","byte/s","45,325,286,662.64",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","Mem Busy","%","13.84",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","Max Bandwidth","%","13.11",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","L1/TEX Hit Rate","%","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","L2 Compression Success Rate","%","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","L2 Compression Ratio","","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","L2 Hit Rate","%","84.83",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Memory Workload Analysis","Mem Pipes Busy","%","12.30",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Scheduler Statistics","One or More Eligible","%","54.23",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Scheduler Statistics","Issued Warp Per Scheduler","","0.54",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Scheduler Statistics","No Eligible","%","45.77",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Scheduler Statistics","Active Warps Per Scheduler","warp","1.00",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Scheduler Statistics","Eligible Warps Per Scheduler","warp","0.54",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","SchedulerStats","","","","IssueSlotUtilization","OPT","Every scheduler is capable of issuing one instruction per cycle, but for this kernel each scheduler only issues an instruction every 1.8 cycles. This might leave hardware resources underutilized and may lead to less optimal performance. Out of the maximum of 12 warps per scheduler, this kernel allocates an average of 1.00 active warps per scheduler, but only an average of 0.54 warps were eligible per cycle. Eligible warps are the subset of active warps that are ready to issue their next instruction. Every cycle with no eligible warp results in no instruction being issued and the issue slot remains unused. To increase the number of eligible warps, reduce the time the active warps are stalled by inspecting the top stall reasons on the Warp State Statistics and Source Counters sections.","local","45.77"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Warp State Statistics","Warp Cycles Per Issued Instruction","cycle","1.85",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Warp State Statistics","Warp Cycles Per Executed Instruction","cycle","1.85",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Warp State Statistics","Avg. Active Threads Per Warp","","32",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Warp State Statistics","Avg. Not Predicated Off Threads Per Warp","","31.92",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Instruction Statistics","Avg. Executed Instructions Per Scheduler","inst","14,803.90",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Instruction Statistics","Executed Instructions","inst","4,855,680",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Instruction Statistics","Avg. Issued Instructions Per Scheduler","inst","14,811.71",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Instruction Statistics","Issued Instructions","inst","4,858,240",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Block Size","","128",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Function Cache Configuration","","CachePreferNone",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Grid Size","","32",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Registers Per Thread","register/thread","168",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Shared Memory Configuration Size","byte","102,400",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Driver Shared Memory Per Block","byte/block","1,024",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Dynamic Shared Memory Per Block","byte/block","49,152",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Static Shared Memory Per Block","byte/block","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","# SMs","SM","82",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Threads","thread","4,096",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Uses Green Context","","0",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Launch Statistics","Waves Per SM","","0.20",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","LaunchStats","","","","LaunchConfiguration","OPT","The grid for this launch is configured to execute only 32 blocks, which is less than the GPU's 82 multiprocessors. This can underutilize some multiprocessors. If you do not intend to execute this kernel concurrently with other workloads, consider reducing the block size to have at least one block per multiprocessor or increase the size of the grid to fully utilize the available hardware resources. See the Hardware Model (https://docs.nvidia.com/nsight-compute/ProfilingGuide/index.html#metrics-hw-model) description for more details on launch configurations.","global","60.98"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Block Limit SM","block","16",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Block Limit Registers","block","3",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Block Limit Shared Mem","block","2",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Block Limit Warps","block","12",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Theoretical Active Warps per SM","warp","8",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Theoretical Occupancy","%","16.67",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Achieved Occupancy","%","8.33",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","Achieved Active Warps Per SM","warp","4.00",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Occupancy","","","","TheoreticalOccupancy","OPT","The 2.00 theoretical warps per scheduler this kernel can issue according to its occupancy are below the hardware maximum of 12. This kernel's theoretical occupancy (16.7%) is limited by the required amount of shared memory.","global","45.77"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Average DRAM Active Cycles","cycle","25,034.67",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Total DRAM Elapsed Cycles","cycle","6,036,480",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Average L1 Active Cycles","cycle","27,388.04",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Total L1 Elapsed Cycles","cycle","6,060,970",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Average L2 Active Cycles","cycle","31,182.56",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Total L2 Elapsed Cycles","cycle","3,509,664",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Average SM Active Cycles","cycle","27,388.04",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Total SM Elapsed Cycles","cycle","6,060,970",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Average SMSP Active Cycles","cycle","27,311.99",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","GPU and Memory Workload Distribution","Total SMSP Elapsed Cycles","cycle","24,243,880",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","WorkloadDistribution","","","","WorkloadImbalance","OPT","One or more SMs have a much lower number of active cycles than the average number of active cycles. Maximum instance value is 61.96% above the average, while the minimum instance value is 100.00% below the average.","global","22.96"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","WorkloadDistribution","","","","WorkloadImbalance","OPT","One or more SMSPs have a much lower number of active cycles than the average number of active cycles. Maximum instance value is 61.95% above the average, while the minimum instance value is 100.00% below the average.","global","22.89"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","WorkloadDistribution","","","","WorkloadImbalance","OPT","One or more L1 Slices have a much lower number of active cycles than the average number of active cycles. Maximum instance value is 61.96% above the average, while the minimum instance value is 100.00% below the average.","global","22.96"
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Source Counters","Branch Instructions Ratio","%","0.00",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Source Counters","Branch Instructions","inst","4,352",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Source Counters","Branch Efficiency","%","100",
"2","3407885","python3.12","<IP_ADDRESS>","batched_matmul_kernel_0d1d2d3c4de5de6de7de8de9c10de11de12c13de14de15c","1","7","(128, 1, 1)","(32, 1, 1)","0","8.6","Source Counters","Avg. Divergent Branches","","0",

Environment details
Triton: 2.2.0 - 3.1.0
GPU: RTX 4090, RTX 3090
Python: 3.12
Torch 2.2.1

If you look at the PTX you'll see that it has fewer arguments than the python kernel:
.visible .entry batched_matmul_kernel(
	.param .u64 batched_matmul_kernel_param_0,
	.param .u64 batched_matmul_kernel_param_1,
	.param .u64 batched_matmul_kernel_param_2,
	.param .u32 batched_matmul_kernel_param_3,
	.param .u32 batched_matmul_kernel_param_4,
	.param .u32 batched_matmul_kernel_param_5,
	.param .u32 batched_matmul_kernel_param_6,
	.param .u32 batched_matmul_kernel_param_7,
	.param .u32 batched_matmul_kernel_param_8,
	.param .u32 batched_matmul_kernel_param_9,
	.param .u32 batched_matmul_kernel_param_10,
	.param .u32 batched_matmul_kernel_param_11,
	.param .u64 batched_matmul_kernel_param_12
)

This happens because the JIT has specialized on the 1-strides. Then when you call the PTX it's getting single element strides for some of the non-contiguous dimensions which breaks the alignment requirements of the contiguous dimensions.
Our ahead-of-time compilation story isn't the best right now, but check out the tests for examples on how to use the AOT compiler:
https://github.com/triton-lang/triton/blob/main/python/test/unit/tools/test_aot.py

@peterbell10 removing some of the strides of 1 in the args solved it as you just said. Thanks a lot for the quick reply!


Add Go code generator plugin

This set of commits adds a code generation plugin (written in Go) that generates Go code for API clients and servers for specified OpenAPI models. The plugin is not complete but intended as an illustration of a code generation plugin that could be built to work with openapic.
The plugins/go/openapi_go_generator/examples/bookstore contains an example and instructions for demonstrating the plugin.

The unit test is failing because there's an extra blank line at the end of the plugin output. Investigating...

LGTM


[k8s-keystone-auth] Improve doc

What this PR does / why we need it:
Fix something in the doc.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

Thanks.
/lgtm

/approve
thanks